You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.0 KiB
Plaintext
58 lines
2.0 KiB
Plaintext
What's This All About?
|
|
======================
|
|
|
|
This directory contains the beginnings of what is hoped will be the
|
|
new core of boto. We want to move from using httplib to using
|
|
requests. We also want to offer full support for Python 2.6, 2.7, and
|
|
3.x. This is a pretty big change and will require some time to roll
|
|
out but this module provides a starting point.
|
|
|
|
What you will find in this module:
|
|
|
|
* auth.py provides a SigV2 authentication packages as a args hook for requests.
|
|
* credentials.py provides a way of finding AWS credentials (see below).
|
|
* dictresponse.py provides a generic response handler that parses XML responses
|
|
and returns them as nested Python data structures.
|
|
* service.py provides a simple example of a service that actually makes an EC2
|
|
request and returns a response.
|
|
|
|
Credentials
|
|
===========
|
|
|
|
Credentials are being handled a bit differently here. The following
|
|
describes the order of search for credentials:
|
|
|
|
1. If your local environment for has ACCESS_KEY and SECRET_KEY variables
|
|
defined, these will be used.
|
|
|
|
2. If your local environment has AWS_CREDENTIAL_FILE defined, it is assumed
|
|
that it will be a config file with entries like this:
|
|
|
|
[default]
|
|
access_key = xxxxxxxxxxxxxxxx
|
|
sercret_key = xxxxxxxxxxxxxxxxxx
|
|
|
|
[test]
|
|
access_key = yyyyyyyyyyyyyy
|
|
secret_key = yyyyyyyyyyyyyyyyyy
|
|
|
|
Each section in the config file is called a persona and you can reference
|
|
a particular persona by name when instantiating a Service class.
|
|
|
|
3. If a standard boto config file is found that contains credentials, those
|
|
will be used.
|
|
|
|
4. If temporary credentials for an IAM Role are found in the instance
|
|
metadata of an EC2 instance, these credentials will be used.
|
|
|
|
Trying Things Out
|
|
=================
|
|
To try this code out, cd to the directory containing the core module.
|
|
|
|
>>> import core.service
|
|
>>> s = core.service.Service()
|
|
>>> s.describe_instances()
|
|
|
|
This code should return a Python data structure containing information
|
|
about your currently running EC2 instances. This example should run in
|
|
Python 2.6.x, 2.7.x and Python 3.x. |