[Python-modules-commits] [python-botocore] 01/01: Import python-botocore_1.4.60.orig.tar.gz
Takaki Taniguchi
takaki at moszumanska.debian.org
Tue Oct 11 01:14:31 UTC 2016
This is an automated email from the git hooks/post-receive script.
takaki pushed a commit to branch upstream
in repository python-botocore.
commit af927425f0e0e7f91a231c785a0e888e66971644
Author: TANIGUCHI Takaki <takaki at asis.media-as.org>
Date: Tue Oct 11 09:22:54 2016 +0900
Import python-botocore_1.4.60.orig.tar.gz
---
PKG-INFO | 7 +-
README.rst | 5 +-
botocore.egg-info/PKG-INFO | 7 +-
botocore.egg-info/SOURCES.txt | 58 +-
botocore/__init__.py | 2 +-
botocore/args.py | 194 +
botocore/auth.py | 56 +-
botocore/awsrequest.py | 13 +-
botocore/client.py | 606 ++-
botocore/compat.py | 48 +
botocore/config.py | 352 +-
botocore/{config.py => configloader.py} | 3 +-
botocore/credentials.py | 246 +-
botocore/data/_endpoints.json | 226 -
botocore/data/_retry.json | 30 +
botocore/data/acm/2015-12-08/paginators-1.json | 11 +
botocore/data/acm/2015-12-08/service-2.json | 411 +-
botocore/data/apigateway/2015-07-09/service-2.json | 4398 +++++++++---------
.../2016-02-06/paginators-1.json | 22 +
.../2016-02-06/service-2.json | 766 ++++
.../data/autoscaling/2011-01-01/service-2.json | 656 ++-
.../data/cloudformation/2010-05-15/service-2.json | 709 ++-
.../data/cloudformation/2010-05-15/waiters-2.json | 235 +
botocore/data/cloudfront/2016-01-28/service-2.json | 24 +-
.../data/cloudfront/2016-08-01/paginators-1.json | 32 +
.../{2016-01-28 => 2016-08-01}/service-2.json | 537 ++-
botocore/data/cloudfront/2016-08-01/waiters-2.json | 47 +
.../data/cloudfront/2016-08-20/paginators-1.json | 32 +
.../{2016-01-28 => 2016-08-20}/service-2.json | 590 ++-
botocore/data/cloudfront/2016-08-20/waiters-2.json | 47 +
.../data/cloudfront/2016-09-07/paginators-1.json | 32 +
.../{2016-01-28 => 2016-09-07}/service-2.json | 608 ++-
botocore/data/cloudfront/2016-09-07/waiters-2.json | 47 +
botocore/data/cloudhsm/2014-05-30/service-2.json | 642 ++-
.../cloudsearchdomain/2013-01-01/service-2.json | 190 +-
botocore/data/cloudtrail/2013-11-01/service-2.json | 171 +-
botocore/data/cloudwatch/2010-08-01/service-2.json | 607 +--
.../data/codecommit/2015-04-13/paginators-1.json | 14 +
botocore/data/codecommit/2015-04-13/service-2.json | 1248 ++---
botocore/data/codedeploy/2014-10-06/service-2.json | 2176 ++++-----
botocore/data/codedeploy/2014-10-06/waiters-2.json | 30 +
.../data/codepipeline/2015-07-09/service-2.json | 1238 +++--
.../cognito-identity/2014-06-30/service-2.json | 1111 ++---
.../data/cognito-idp/2016-04-18/service-2.json | 4341 ++++++++++++++++++
botocore/data/config/2014-11-12/service-2.json | 217 +-
.../data/devicefarm/2015-06-23/paginators-1.json | 59 +
botocore/data/devicefarm/2015-06-23/service-2.json | 836 +++-
.../data/directconnect/2012-10-25/service-2.json | 133 +-
botocore/data/discovery/2015-11-01/service-2.json | 761 ++++
botocore/data/dms/2016-01-01/service-2.json | 2427 ++++++++++
botocore/data/ds/2015-04-16/service-2.json | 888 +++-
botocore/data/dynamodb/2012-08-10/service-2.json | 784 ++--
.../data/dynamodbstreams/2012-08-10/service-2.json | 204 +-
botocore/data/ec2/2015-10-01/paginators-1.json | 6 +
botocore/data/ec2/2015-10-01/service-2.json | 1597 +++++--
botocore/data/ec2/2015-10-01/waiters-2.json | 128 +-
.../{2015-10-01 => 2016-04-01}/paginators-1.json | 6 +
.../ec2/{2015-10-01 => 2016-04-01}/service-2.json | 2539 ++++++++---
.../ec2/{2015-10-01 => 2016-04-01}/waiters-2.json | 146 +-
botocore/data/ec2/2016-09-15/examples-1.json | 3740 +++++++++++++++
.../{2015-10-01 => 2016-09-15}/paginators-1.json | 6 +
.../ec2/{2015-10-01 => 2016-09-15}/service-2.json | 2803 +++++++++---
.../ec2/{2015-10-01 => 2016-09-15}/waiters-2.json | 138 +-
botocore/data/ecr/2015-09-21/paginators-1.json | 10 +
botocore/data/ecr/2015-09-21/service-2.json | 53 +-
botocore/data/ecs/2014-11-13/service-2.json | 206 +-
botocore/data/efs/2015-02-01/service-2.json | 653 +--
.../data/elasticache/2015-02-02/service-2.json | 2880 +++---------
.../elasticbeanstalk/2010-12-01/examples-1.json | 1109 +++++
.../elasticbeanstalk/2010-12-01/service-2.json | 445 +-
.../elastictranscoder/2012-09-25/service-2.json | 1030 +----
botocore/data/elb/2012-06-01/service-2.json | 1258 ++---
botocore/data/elbv2/2015-12-01/paginators-1.json | 22 +
botocore/data/elbv2/2015-12-01/service-2.json | 2470 ++++++++++
botocore/data/emr/2009-03-31/service-2.json | 539 ++-
botocore/data/emr/2009-03-31/waiters-2.json | 19 +
botocore/data/endpoints.json | 1422 ++++++
botocore/data/es/2015-01-01/service-2.json | 476 +-
botocore/data/events/2015-10-07/service-2.json | 997 ++++
botocore/data/firehose/2015-08-04/service-2.json | 578 ++-
botocore/data/gamelift/2015-10-01/service-2.json | 3706 +++++++++++++++
botocore/data/iam/2010-05-08/paginators-1.json | 121 +-
botocore/data/iam/2010-05-08/service-2.json | 858 ++--
botocore/data/inspector/2016-02-16/service-2.json | 2782 ++++++++++++
botocore/data/iot/2015-05-28/service-2.json | 2711 +++++++++--
botocore/data/kinesis/2013-12-02/paginators-1.json | 3 +-
botocore/data/kinesis/2013-12-02/service-2.json | 676 ++-
.../kinesisanalytics/2015-08-14/service-2.json | 1595 +++++++
botocore/data/kms/2014-11-01/service-2.json | 2420 +++-------
botocore/data/lambda/2015-03-31/service-2.json | 1471 +++---
botocore/data/logs/2014-03-28/service-2.json | 143 +-
.../data/machinelearning/2014-12-12/service-2.json | 594 ++-
.../2015-07-01/service-2.json | 188 +-
.../meteringmarketplace/2016-01-14/service-2.json | 151 +
botocore/data/opsworks/2013-02-18/service-2.json | 288 +-
botocore/data/opsworks/2013-02-18/waiters-2.json | 295 ++
botocore/data/rds/2014-10-31/paginators-1.json | 6 +
botocore/data/rds/2014-10-31/service-2.json | 2145 ++++++---
botocore/data/redshift/2012-12-01/service-2.json | 4783 ++++++--------------
botocore/data/route53/2013-04-01/service-2.json | 993 ++--
.../data/route53domains/2014-05-15/service-2.json | 895 ++--
botocore/data/s3/2006-03-01/paginators-1.json | 10 +
botocore/data/s3/2006-03-01/service-2.json | 325 +-
.../data/servicecatalog/2015-12-10/service-2.json | 1238 +++++
botocore/data/ses/2010-12-01/service-2.json | 1008 ++---
botocore/data/snowball/2016-06-30/service-2.json | 860 ++++
botocore/data/sns/2010-03-31/service-2.json | 1542 ++-----
botocore/data/sqs/2012-11-05/service-2.json | 508 +--
botocore/data/ssm/2014-11-06/service-2.json | 1073 ++++-
.../data/storagegateway/2013-06-30/service-2.json | 1739 +++----
botocore/data/sts/2011-06-15/service-2.json | 130 +-
botocore/data/support/2013-04-15/service-2.json | 460 +-
botocore/data/waf/2015-08-24/service-2.json | 474 +-
botocore/data/workspaces/2015-04-08/service-2.json | 621 ++-
botocore/docs/bcdoc/docstringparser.py | 189 +-
botocore/docs/bcdoc/style.py | 19 +-
botocore/docs/bcdoc/textwriter.py | 78 +-
botocore/docs/example.py | 6 +-
botocore/docs/method.py | 14 +-
botocore/docs/params.py | 26 +-
botocore/docs/shape.py | 28 +-
botocore/docs/sharedexample.py | 2 +-
botocore/endpoint.py | 107 +-
botocore/exceptions.py | 88 +-
botocore/handlers.py | 227 +-
botocore/hooks.py | 41 +-
botocore/loaders.py | 9 +-
botocore/model.py | 14 +-
botocore/paginate.py | 95 +-
botocore/parsers.py | 69 +-
botocore/regions.py | 240 +-
botocore/response.py | 14 +-
botocore/retryhandler.py | 6 +-
botocore/serialize.py | 11 +-
botocore/session.py | 102 +-
botocore/signers.py | 214 +-
botocore/stub.py | 364 ++
botocore/translate.py | 479 +-
botocore/utils.py | 334 +-
botocore/validate.py | 25 +-
botocore/waiter.py | 25 +-
docs/source/conf.py | 4 +-
docs/source/reference/config.rst | 11 +
docs/source/reference/stubber.rst | 11 +
requirements.txt | 2 +-
tests/__init__.py | 78 +-
tests/functional/docs/test_alias.py | 36 +
tests/functional/test_alias.py | 84 +
tests/functional/test_apigateway.py | 42 +
tests/functional/test_credentials.py | 97 +
tests/functional/test_iot_data.py | 14 +-
tests/functional/test_paginate.py | 60 +
tests/functional/test_paginator_config.py | 155 +
tests/functional/test_regions.py | 500 ++
tests/functional/test_s3.py | 436 +-
tests/functional/test_session.py | 14 +
tests/functional/test_stub.py | 234 +
tests/functional/test_waiter_config.py | 59 +-
tests/integration/test_apigateway.py | 11 +-
tests/integration/test_client.py | 15 +-
tests/integration/test_credentials.py | 2 +
tests/integration/test_ec2.py | 16 +-
tests/integration/test_rds.py | 3 +-
tests/integration/test_route53.py | 23 +-
tests/integration/test_s3.py | 121 +-
tests/integration/test_smoke.py | 20 +-
tests/integration/test_sts.py | 2 +
tests/integration/test_waiters.py | 17 +-
tests/unit/__init__.py | 28 +
tests/unit/auth/test_signers.py | 82 +
tests/unit/docs/__init__.py | 6 +-
tests/unit/docs/bcdoc/test_docstringparser.py | 212 +
tests/unit/docs/bcdoc/test_style.py | 38 +
tests/unit/docs/test_method.py | 18 +
tests/unit/docs/test_sharedexample.py | 13 +
tests/unit/protocols/input/rest-json.json | 50 +
tests/unit/protocols/input/rest-xml.json | 130 +-
tests/unit/protocols/output/query.json | 3 +-
tests/unit/protocols/output/rest-json.json | 20 +
.../unit/response_parsing/test_response_parsing.py | 1 +
tests/unit/test_args.py | 126 +
tests/unit/test_awsrequest.py | 17 +-
tests/unit/test_client.py | 773 +++-
tests/unit/test_compat.py | 50 +-
.../unit/{test_config.py => test_configloader.py} | 4 +-
tests/unit/test_credentials.py | 301 +-
tests/unit/test_endpoint.py | 137 +-
tests/unit/test_exceptions.py | 42 +
tests/unit/test_handlers.py | 456 +-
tests/unit/test_loaders.py | 16 +
tests/unit/test_model.py | 77 +-
tests/unit/test_paginate.py | 224 +-
tests/unit/test_parsers.py | 587 ++-
tests/unit/test_regions.py | 649 +--
tests/unit/test_response.py | 31 +-
tests/unit/test_retryhandler.py | 6 +-
tests/unit/test_s3_addressing.py | 21 +-
tests/unit/test_serialize.py | 182 +-
tests/unit/test_session.py | 181 +-
tests/unit/test_signers.py | 439 +-
tests/unit/test_stub.py | 186 +
tests/unit/test_translate.py | 1048 +----
tests/unit/test_utils.py | 468 +-
tests/unit/test_validate.py | 38 +-
tests/unit/test_waiters.py | 28 +
205 files changed, 70925 insertions(+), 31878 deletions(-)
diff --git a/PKG-INFO b/PKG-INFO
index 43c9235..c382b75 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: botocore
-Version: 1.3.23
+Version: 1.4.60
Summary: Low-level, data-driven core of boto 3.
Home-page: https://github.com/boto/botocore
Author: Amazon Web Services
@@ -12,13 +12,16 @@ Description: botocore
.. image:: https://secure.travis-ci.org/boto/botocore.png?branch=develop
:target: http://travis-ci.org/boto/botocore
+ .. image:: https://codecov.io/github/boto/botocore/coverage.svg?branch=develop
+ :target: https://codecov.io/github/boto/botocore?branch=develop
+
A low-level interface to a growing number of Amazon Web Services. The
botocore package is the foundation for the
`AWS CLI <https://github.com/aws/aws-cli>`__ as well as
`boto3 <https://github.com/boto/boto3>`__.
- `Documentation <https://botocore.readthedocs.org/en/latest/>`__
+ `Documentation <https://botocore.readthedocs.io/en/latest/>`__
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
diff --git a/README.rst b/README.rst
index af2acaa..3331faa 100644
--- a/README.rst
+++ b/README.rst
@@ -4,10 +4,13 @@ botocore
.. image:: https://secure.travis-ci.org/boto/botocore.png?branch=develop
:target: http://travis-ci.org/boto/botocore
+.. image:: https://codecov.io/github/boto/botocore/coverage.svg?branch=develop
+ :target: https://codecov.io/github/boto/botocore?branch=develop
+
A low-level interface to a growing number of Amazon Web Services. The
botocore package is the foundation for the
`AWS CLI <https://github.com/aws/aws-cli>`__ as well as
`boto3 <https://github.com/boto/boto3>`__.
-`Documentation <https://botocore.readthedocs.org/en/latest/>`__
+`Documentation <https://botocore.readthedocs.io/en/latest/>`__
diff --git a/botocore.egg-info/PKG-INFO b/botocore.egg-info/PKG-INFO
index 43c9235..c382b75 100644
--- a/botocore.egg-info/PKG-INFO
+++ b/botocore.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: botocore
-Version: 1.3.23
+Version: 1.4.60
Summary: Low-level, data-driven core of boto 3.
Home-page: https://github.com/boto/botocore
Author: Amazon Web Services
@@ -12,13 +12,16 @@ Description: botocore
.. image:: https://secure.travis-ci.org/boto/botocore.png?branch=develop
:target: http://travis-ci.org/boto/botocore
+ .. image:: https://codecov.io/github/boto/botocore/coverage.svg?branch=develop
+ :target: https://codecov.io/github/boto/botocore?branch=develop
+
A low-level interface to a growing number of Amazon Web Services. The
botocore package is the foundation for the
`AWS CLI <https://github.com/aws/aws-cli>`__ as well as
`boto3 <https://github.com/boto/boto3>`__.
- `Documentation <https://botocore.readthedocs.org/en/latest/>`__
+ `Documentation <https://botocore.readthedocs.io/en/latest/>`__
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
diff --git a/botocore.egg-info/SOURCES.txt b/botocore.egg-info/SOURCES.txt
index 859c5cd..db71361 100644
--- a/botocore.egg-info/SOURCES.txt
+++ b/botocore.egg-info/SOURCES.txt
@@ -5,11 +5,13 @@ requirements.txt
setup.cfg
setup.py
botocore/__init__.py
+botocore/args.py
botocore/auth.py
botocore/awsrequest.py
botocore/client.py
botocore/compat.py
botocore/config.py
+botocore/configloader.py
botocore/credentials.py
botocore/endpoint.py
botocore/exceptions.py
@@ -25,6 +27,7 @@ botocore/retryhandler.py
botocore/serialize.py
botocore/session.py
botocore/signers.py
+botocore/stub.py
botocore/translate.py
botocore/utils.py
botocore/validate.py
@@ -34,15 +37,19 @@ botocore.egg-info/SOURCES.txt
botocore.egg-info/dependency_links.txt
botocore.egg-info/requires.txt
botocore.egg-info/top_level.txt
-botocore/data/_endpoints.json
botocore/data/_retry.json
+botocore/data/endpoints.json
+botocore/data/acm/2015-12-08/paginators-1.json
botocore/data/acm/2015-12-08/service-2.json
botocore/data/apigateway/2015-07-09/paginators-1.json
botocore/data/apigateway/2015-07-09/service-2.json
+botocore/data/application-autoscaling/2016-02-06/paginators-1.json
+botocore/data/application-autoscaling/2016-02-06/service-2.json
botocore/data/autoscaling/2011-01-01/paginators-1.json
botocore/data/autoscaling/2011-01-01/service-2.json
botocore/data/cloudformation/2010-05-15/paginators-1.json
botocore/data/cloudformation/2010-05-15/service-2.json
+botocore/data/cloudformation/2010-05-15/waiters-2.json
botocore/data/cloudfront/2014-05-31/paginators-1.json
botocore/data/cloudfront/2014-05-31/service-2.json
botocore/data/cloudfront/2014-05-31/waiters-2.json
@@ -67,6 +74,15 @@ botocore/data/cloudfront/2016-01-13/waiters-2.json
botocore/data/cloudfront/2016-01-28/paginators-1.json
botocore/data/cloudfront/2016-01-28/service-2.json
botocore/data/cloudfront/2016-01-28/waiters-2.json
+botocore/data/cloudfront/2016-08-01/paginators-1.json
+botocore/data/cloudfront/2016-08-01/service-2.json
+botocore/data/cloudfront/2016-08-01/waiters-2.json
+botocore/data/cloudfront/2016-08-20/paginators-1.json
+botocore/data/cloudfront/2016-08-20/service-2.json
+botocore/data/cloudfront/2016-08-20/waiters-2.json
+botocore/data/cloudfront/2016-09-07/paginators-1.json
+botocore/data/cloudfront/2016-09-07/service-2.json
+botocore/data/cloudfront/2016-09-07/waiters-2.json
botocore/data/cloudhsm/2014-05-30/service-2.json
botocore/data/cloudsearch/2011-02-01/service-2.json
botocore/data/cloudsearch/2013-01-01/service-2.json
@@ -74,16 +90,22 @@ botocore/data/cloudsearchdomain/2013-01-01/service-2.json
botocore/data/cloudtrail/2013-11-01/service-2.json
botocore/data/cloudwatch/2010-08-01/paginators-1.json
botocore/data/cloudwatch/2010-08-01/service-2.json
+botocore/data/codecommit/2015-04-13/paginators-1.json
botocore/data/codecommit/2015-04-13/service-2.json
botocore/data/codedeploy/2014-10-06/service-2.json
+botocore/data/codedeploy/2014-10-06/waiters-2.json
botocore/data/codepipeline/2015-07-09/service-2.json
botocore/data/cognito-identity/2014-06-30/service-2.json
+botocore/data/cognito-idp/2016-04-18/service-2.json
botocore/data/cognito-sync/2014-06-30/service-2.json
botocore/data/config/2014-11-12/service-2.json
botocore/data/datapipeline/2012-10-29/paginators-1.json
botocore/data/datapipeline/2012-10-29/service-2.json
+botocore/data/devicefarm/2015-06-23/paginators-1.json
botocore/data/devicefarm/2015-06-23/service-2.json
botocore/data/directconnect/2012-10-25/service-2.json
+botocore/data/discovery/2015-11-01/service-2.json
+botocore/data/dms/2016-01-01/service-2.json
botocore/data/ds/2015-04-16/service-2.json
botocore/data/dynamodb/2012-08-10/paginators-1.json
botocore/data/dynamodb/2012-08-10/service-2.json
@@ -104,6 +126,14 @@ botocore/data/ec2/2015-04-15/waiters-2.json
botocore/data/ec2/2015-10-01/paginators-1.json
botocore/data/ec2/2015-10-01/service-2.json
botocore/data/ec2/2015-10-01/waiters-2.json
+botocore/data/ec2/2016-04-01/paginators-1.json
+botocore/data/ec2/2016-04-01/service-2.json
+botocore/data/ec2/2016-04-01/waiters-2.json
+botocore/data/ec2/2016-09-15/examples-1.json
+botocore/data/ec2/2016-09-15/paginators-1.json
+botocore/data/ec2/2016-09-15/service-2.json
+botocore/data/ec2/2016-09-15/waiters-2.json
+botocore/data/ecr/2015-09-21/paginators-1.json
botocore/data/ecr/2015-09-21/service-2.json
botocore/data/ecs/2014-11-13/paginators-1.json
botocore/data/ecs/2014-11-13/service-2.json
@@ -115,6 +145,7 @@ botocore/data/elasticache/2014-09-30/waiters-2.json
botocore/data/elasticache/2015-02-02/paginators-1.json
botocore/data/elasticache/2015-02-02/service-2.json
botocore/data/elasticache/2015-02-02/waiters-2.json
+botocore/data/elasticbeanstalk/2010-12-01/examples-1.json
botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json
botocore/data/elasticbeanstalk/2010-12-01/service-2.json
botocore/data/elastictranscoder/2012-09-25/paginators-1.json
@@ -122,12 +153,16 @@ botocore/data/elastictranscoder/2012-09-25/service-2.json
botocore/data/elastictranscoder/2012-09-25/waiters-2.json
botocore/data/elb/2012-06-01/paginators-1.json
botocore/data/elb/2012-06-01/service-2.json
+botocore/data/elbv2/2015-12-01/paginators-1.json
+botocore/data/elbv2/2015-12-01/service-2.json
botocore/data/emr/2009-03-31/paginators-1.json
botocore/data/emr/2009-03-31/service-2.json
botocore/data/emr/2009-03-31/waiters-2.json
botocore/data/es/2015-01-01/service-2.json
botocore/data/events/2014-02-03/service-2.json
+botocore/data/events/2015-10-07/service-2.json
botocore/data/firehose/2015-08-04/service-2.json
+botocore/data/gamelift/2015-10-01/service-2.json
botocore/data/glacier/2012-06-01/paginators-1.json
botocore/data/glacier/2012-06-01/service-2.json
botocore/data/iam/2010-05-08/paginators-1.json
@@ -136,11 +171,13 @@ botocore/data/iam/2010-05-08/waiters-2.json
botocore/data/importexport/2010-06-01/paginators-1.json
botocore/data/importexport/2010-06-01/service-2.json
botocore/data/inspector/2015-08-18/service-2.json
+botocore/data/inspector/2016-02-16/service-2.json
botocore/data/iot-data/2015-05-28/service-2.json
botocore/data/iot/2015-05-28/service-2.json
botocore/data/kinesis/2013-12-02/paginators-1.json
botocore/data/kinesis/2013-12-02/service-2.json
botocore/data/kinesis/2013-12-02/waiters-2.json
+botocore/data/kinesisanalytics/2015-08-14/service-2.json
botocore/data/kms/2014-11-01/paginators-1.json
botocore/data/kms/2014-11-01/service-2.json
botocore/data/lambda/2014-11-11/service-2.json
@@ -152,7 +189,9 @@ botocore/data/machinelearning/2014-12-12/paginators-1.json
botocore/data/machinelearning/2014-12-12/service-2.json
botocore/data/machinelearning/2014-12-12/waiters-2.json
botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json
+botocore/data/meteringmarketplace/2016-01-14/service-2.json
botocore/data/opsworks/2013-02-18/service-2.json
+botocore/data/opsworks/2013-02-18/waiters-2.json
botocore/data/rds/2014-09-01/paginators-1.json
botocore/data/rds/2014-09-01/service-2.json
botocore/data/rds/2014-09-01/waiters-2.json
@@ -172,9 +211,11 @@ botocore/data/s3/2006-03-01/service-2.json
botocore/data/s3/2006-03-01/waiters-2.json
botocore/data/sdb/2009-04-15/paginators-1.json
botocore/data/sdb/2009-04-15/service-2.json
+botocore/data/servicecatalog/2015-12-10/service-2.json
botocore/data/ses/2010-12-01/paginators-1.json
botocore/data/ses/2010-12-01/service-2.json
botocore/data/ses/2010-12-01/waiters-2.json
+botocore/data/snowball/2016-06-30/service-2.json
botocore/data/sns/2010-03-31/paginators-1.json
botocore/data/sns/2010-03-31/service-2.json
botocore/data/sqs/2012-11-05/examples-1.json
@@ -298,9 +339,11 @@ docs/source/index.rst
docs/source/development/changesfor10.rst
docs/source/development/designnotes.rst
docs/source/development/index.rst
+docs/source/reference/config.rst
docs/source/reference/index.rst
docs/source/reference/loaders.rst
docs/source/reference/response.rst
+docs/source/reference/stubber.rst
docs/source/topics/events.rst
docs/source/topics/index.rst
docs/source/topics/paginators.rst
@@ -362,17 +405,25 @@ tests/acceptance/features/smoke/waf/waf.feature
tests/acceptance/features/smoke/workspaces/workspaces.feature
tests/acceptance/features/steps/base.py
tests/functional/__init__.py
+tests/functional/test_alias.py
+tests/functional/test_apigateway.py
tests/functional/test_client_class_names.py
tests/functional/test_cloudsearchdomain.py
+tests/functional/test_credentials.py
tests/functional/test_iot_data.py
tests/functional/test_loaders.py
tests/functional/test_machinelearning.py
tests/functional/test_model_completeness.py
+tests/functional/test_paginate.py
+tests/functional/test_paginator_config.py
tests/functional/test_public_apis.py
+tests/functional/test_regions.py
tests/functional/test_s3.py
tests/functional/test_session.py
+tests/functional/test_stub.py
tests/functional/test_waiter_config.py
tests/functional/docs/__init__.py
+tests/functional/docs/test_alias.py
tests/functional/docs/test_autoscaling.py
tests/functional/docs/test_ec2.py
tests/functional/docs/test_glacier.py
@@ -403,10 +454,11 @@ tests/integration/test_utils.py
tests/integration/test_waiters.py
tests/unit/__init__.py
tests/unit/put_object_data
+tests/unit/test_args.py
tests/unit/test_awsrequest.py
tests/unit/test_client.py
tests/unit/test_compat.py
-tests/unit/test_config.py
+tests/unit/test_configloader.py
tests/unit/test_credentials.py
tests/unit/test_endpoint.py
tests/unit/test_exceptions.py
@@ -424,6 +476,7 @@ tests/unit/test_s3_addressing.py
tests/unit/test_serialize.py
tests/unit/test_session.py
tests/unit/test_signers.py
+tests/unit/test_stub.py
tests/unit/test_translate.py
tests/unit/test_utils.py
tests/unit/test_validate.py
@@ -613,6 +666,7 @@ tests/unit/docs/test_sharedexample.py
tests/unit/docs/test_utils.py
tests/unit/docs/test_waiter.py
tests/unit/docs/bcdoc/__init__.py
+tests/unit/docs/bcdoc/test_docstringparser.py
tests/unit/docs/bcdoc/test_document.py
tests/unit/docs/bcdoc/test_style.py
tests/unit/protocols/input/ec2.json
diff --git a/botocore/__init__.py b/botocore/__init__.py
index 5104736..a43c69a 100644
--- a/botocore/__init__.py
+++ b/botocore/__init__.py
@@ -16,7 +16,7 @@ import os
import re
import logging
-__version__ = '1.3.23'
+__version__ = '1.4.60'
class NullHandler(logging.Handler):
diff --git a/botocore/args.py b/botocore/args.py
new file mode 100644
index 0000000..6a5cd31
--- /dev/null
+++ b/botocore/args.py
@@ -0,0 +1,194 @@
+# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"). You
+# may not use this file except in compliance with the License. A copy of
+# the License is located at
+#
+# http://aws.amazon.com/apache2.0/
+#
+# or in the "license" file accompanying this file. This file is
+# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+# ANY KIND, either express or implied. See the License for the specific
+# language governing permissions and limitations under the License.
+"""Internal module to help with normalizing botocore client args.
+
+This module (and all function/classes within this module) should be
+considered internal, and *not* a public API.
+
+"""
+import copy
+import logging
+
+import botocore.serialize
+from botocore.utils import fix_s3_host
+from botocore.signers import RequestSigner
+from botocore.config import Config
+from botocore.endpoint import EndpointCreator
+
+
+logger = logging.getLogger(__name__)
+
+
+class ClientArgsCreator(object):
+ def __init__(self, event_emitter, user_agent, response_parser_factory,
+ loader):
+ self._event_emitter = event_emitter
+ self._user_agent = user_agent
+ self._response_parser_factory = response_parser_factory
+ self._loader = loader
+
+ def get_client_args(self, service_model, region_name, is_secure,
+ endpoint_url, verify, credentials, scoped_config,
+ client_config, endpoint_bridge):
+ final_args = self.compute_client_args(
+ service_model, client_config, endpoint_bridge, region_name,
+ endpoint_url, is_secure, scoped_config)
+
+ service_name = final_args['service_name']
+ parameter_validation = final_args['parameter_validation']
+ endpoint_config = final_args['endpoint_config']
+ protocol = final_args['protocol']
+ config_kwargs = final_args['config_kwargs']
+ s3_config = final_args['s3_config']
+
+ event_emitter = copy.copy(self._event_emitter)
+ signer = RequestSigner(
+ service_name, endpoint_config['signing_region'],
+ endpoint_config['signing_name'],
+ endpoint_config['signature_version'],
+ credentials, event_emitter)
+
+ # Add any additional s3 configuration for client
+ config_kwargs['s3'] = s3_config
+ self._conditionally_unregister_fix_s3_host(endpoint_url, event_emitter)
+
+ new_config = Config(**config_kwargs)
+ endpoint_creator = EndpointCreator(event_emitter)
+
+ endpoint = endpoint_creator.create_endpoint(
+ service_model, region_name=endpoint_config['region_name'],
+ endpoint_url=endpoint_config['endpoint_url'], verify=verify,
+ response_parser_factory=self._response_parser_factory,
+ max_pool_connections=new_config.max_pool_connections,
+ timeout=(new_config.connect_timeout, new_config.read_timeout))
+
+ serializer = botocore.serialize.create_serializer(
+ protocol, parameter_validation)
+ response_parser = botocore.parsers.create_parser(protocol)
+ return {
+ 'serializer': serializer,
+ 'endpoint': endpoint,
+ 'response_parser': response_parser,
+ 'event_emitter': event_emitter,
+ 'request_signer': signer,
+ 'service_model': service_model,
+ 'loader': self._loader,
+ 'client_config': new_config
+ }
+
+ def compute_client_args(self, service_model, client_config,
+ endpoint_bridge, region_name, endpoint_url,
+ is_secure, scoped_config):
+ service_name = service_model.endpoint_prefix
+ protocol = service_model.metadata['protocol']
+ parameter_validation = True
+ if client_config and not client_config.parameter_validation:
+ parameter_validation = False
+ elif scoped_config:
+ raw_value = str(scoped_config.get('parameter_validation', ''))
+ if raw_value.lower() == 'false':
+ parameter_validation = False
+
+ endpoint_config = endpoint_bridge.resolve(
+ service_name, region_name, endpoint_url, is_secure)
+
+ # Override the user agent if specified in the client config.
+ user_agent = self._user_agent
+ if client_config is not None:
+ if client_config.user_agent is not None:
+ user_agent = client_config.user_agent
+ if client_config.user_agent_extra is not None:
+ user_agent += ' %s' % client_config.user_agent_extra
+
+ # Create a new client config to be passed to the client based
+ # on the final values. We do not want the user to be able
+ # to try to modify an existing client with a client config.
+ config_kwargs = dict(
+ region_name=endpoint_config['region_name'],
+ signature_version=endpoint_config['signature_version'],
+ user_agent=user_agent)
+ if client_config is not None:
+ config_kwargs.update(
+ connect_timeout=client_config.connect_timeout,
+ read_timeout=client_config.read_timeout,
+ max_pool_connections=client_config.max_pool_connections,
+ )
+ s3_config = self.compute_s3_config(scoped_config,
+ client_config)
+ return {
+ 'service_name': service_name,
+ 'parameter_validation': parameter_validation,
+ 'user_agent': user_agent,
+ 'endpoint_config': endpoint_config,
+ 'protocol': protocol,
+ 'config_kwargs': config_kwargs,
+ 's3_config': s3_config,
+ }
+
+ def compute_s3_config(self, scoped_config, client_config):
+ s3_configuration = None
+
+ # Check the scoped config first.
+ if scoped_config is not None:
+ s3_configuration = scoped_config.get('s3')
+ # Until we have proper validation of the config file (including
+ # nested types), we have to account for the fact that the s3
+ # key could be parsed as a string, e.g 's3 = foo'.
+ # In the case we'll ignore the key for now.
+ if not isinstance(s3_configuration, dict):
+ logger.debug("The s3 config key is not a dictionary type, "
+ "ignoring its value of: %s", s3_configuration)
+ s3_configuration = None
+
+ # Convert logic for several s3 keys in the scoped config
+ # so that the various strings map to the appropriate boolean value.
+ if s3_configuration:
+ boolean_keys = ['use_accelerate_endpoint',
+ 'use_dualstack_endpoint',
+ 'payload_signing_enabled']
+ s3_configuration = self._convert_config_to_bool(
+ s3_configuration, boolean_keys)
+
+ # Next specific client config values takes precedence over
+ # specific values in the scoped config.
+ if client_config is not None:
+ if client_config.s3 is not None:
+ if s3_configuration is None:
+ s3_configuration = client_config.s3
+ else:
+ # The current s3_configuration dictionary may be
+ # from a source that only should be read from so
+ # we want to be safe and just make a copy of it to modify
+ # before it actually gets updated.
+ s3_configuration = s3_configuration.copy()
+ s3_configuration.update(client_config.s3)
+
+ return s3_configuration
+
+ def _conditionally_unregister_fix_s3_host(self, endpoint_url, emitter):
+ # If the user is providing a custom endpoint, we should not alter it.
+ if endpoint_url is not None:
+ emitter.unregister('before-sign.s3', fix_s3_host)
+
+ def _convert_config_to_bool(self, config_dict, keys):
+ # Make sure any further modifications to this section of the config
+ # will not affect the scoped config by making a copy of it.
+ config_copy = config_dict.copy()
+ present_keys = [k for k in keys if k in config_copy]
+ for key in present_keys:
+ # Normalize on different possible values of True
+ if config_copy[key] in [True, 'True', 'true']:
+ config_copy[key] = True
+ else:
+ config_copy[key] = False
+ return config_copy
diff --git a/botocore/auth.py b/botocore/auth.py
index df00552..a1ecb24 100644
--- a/botocore/auth.py
+++ b/botocore/auth.py
@@ -11,7 +11,6 @@
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.
-
import base64
import datetime
from hashlib import sha256
@@ -32,6 +31,7 @@ from botocore.compat import urlunsplit
from botocore.compat import encodebytes
from botocore.compat import six
from botocore.compat import json
+from botocore.compat import MD5_AVAILABLE
logger = logging.getLogger(__name__)
@@ -44,6 +44,10 @@ EMPTY_SHA256_HASH = (
PAYLOAD_BUFFER = 1024 * 1024
ISO8601 = '%Y-%m-%dT%H:%M:%SZ'
SIGV4_TIMESTAMP = '%Y%m%dT%H%M%SZ'
+SIGNED_HEADERS_BLACKLIST = [
+ 'expect',
+ 'user-agent'
+]
class BaseSigner(object):
@@ -170,7 +174,8 @@ class SigV4Auth(BaseSigner):
split = urlsplit(request.url)
for name, value in request.headers.items():
lname = name.lower()
- header_map[lname] = value
+ if lname not in SIGNED_HEADERS_BLACKLIST:
+ header_map[lname] = value
if 'host' not in header_map:
header_map['host'] = split.netloc
return header_map
@@ -358,12 +363,50 @@ class SigV4Auth(BaseSigner):
class S3SigV4Auth(SigV4Auth):
+ def __init__(self, credentials, service_name, region_name):
+ super(S3SigV4Auth, self).__init__(
+ credentials, service_name, region_name)
+ self._default_region_name = region_name
+
+ def add_auth(self, request):
+ # If we ever decide to share auth sessions, this could potentially be
+ # a source of concurrency bugs.
+ signing_context = request.context.get('signing', {})
+ self._region_name = signing_context.get(
+ 'region', self._default_region_name)
+ super(S3SigV4Auth, self).add_auth(request)
def _modify_request_before_signing(self, request):
super(S3SigV4Auth, self)._modify_request_before_signing(request)
if 'X-Amz-Content-SHA256' in request.headers:
del request.headers['X-Amz-Content-SHA256']
- request.headers['X-Amz-Content-SHA256'] = self.payload(request)
+
+ if self._should_sha256_sign_payload(request):
+ request.headers['X-Amz-Content-SHA256'] = self.payload(request)
+ else:
+ request.headers['X-Amz-Content-SHA256'] = 'UNSIGNED-PAYLOAD'
+
+ def _should_sha256_sign_payload(self, request):
+ # S3 allows optional body signing, so to minimize the performance
+ # impact, we opt to not SHA256 sign the body on streaming uploads,
+ # provided that we're on https.
+ client_config = request.context.get('client_config')
+ s3_config = getattr(client_config, 's3', None)
+
+ # The config could be None if it isn't set, or if the customer sets it
+ # to None.
+ if s3_config is None:
+ s3_config = {}
+
+ sign_payload = s3_config.get('payload_signing_enabled', None)
+ if sign_payload is not None:
+ return sign_payload
+
+ if 'Content-MD5' in request.headers and 'https' in request.url and \
+ request.context.get('has_streaming_input', False):
+ return False
+
+ return True
def _normalize_url_path(self, path):
# For S3, we do not normalize the path.
@@ -510,8 +553,9 @@ class S3SigV4PostAuth(SigV4Auth):
class HmacV1Auth(BaseSigner):
# List of Query String Arguments of Interest
- QSAOfInterest = ['acl', 'cors', 'defaultObjectAcl', 'location', 'logging',
- 'partNumber', 'policy', 'requestPayment', 'torrent',
+ QSAOfInterest = ['accelerate', 'acl', 'cors', 'defaultObjectAcl',
+ 'location', 'logging', 'partNumber', 'policy',
+ 'requestPayment', 'torrent',
'versioning', 'versionId', 'versions', 'website',
'uploads', 'uploadId', 'response-content-type',
'response-content-language', 'response-expires',
@@ -688,7 +732,7 @@ class HmacV1QueryAuth(HmacV1Auth):
if p[3]:
# If there was a pre-existing query string, we should
# add that back before injecting the new query string.
- new_query_string ='%s&%s' % (p[3], new_query_string)
+ new_query_string = '%s&%s' % (p[3], new_query_string)
new_url_parts = (p[0], p[1], p[2], new_query_string, p[4])
request.url = urlunsplit(new_url_parts)
diff --git a/botocore/awsrequest.py b/botocore/awsrequest.py
index 06d0871..a667bb5 100644
--- a/botocore/awsrequest.py
+++ b/botocore/awsrequest.py
@@ -260,7 +260,8 @@ for name, function in AWSHTTPConnection.__dict__.items():
setattr(AWSHTTPSConnection, name, function)
-def prepare_request_dict(request_dict, endpoint_url, user_agent=None):
+def prepare_request_dict(request_dict, endpoint_url, context=None,
+ user_agent=None):
"""
This method prepares a request dict to be created into an
AWSRequestObject. This prepares the request dict by adding the
@@ -289,6 +290,9 @@ def prepare_request_dict(request_dict, endpoint_url, user_agent=None):
else:
url += '&%s' % encoded_query_string
r['url'] = url
+ r['context'] = context
+ if context is None:
+ r['context'] = {}
def create_request_object(request_dict):
@@ -305,9 +309,10 @@ def create_request_object(request_dict):
"""
r = request_dict
- return AWSRequest(method=r['method'], url=r['url'],
- data=r['body'],
- headers=r['headers'])
+ request_object = AWSRequest(
+ method=r['method'], url=r['url'], data=r['body'], headers=r['headers'])
+ request_object.context.update(r['context'])
+ return request_object
def _urljoin(endpoint_url, url_path):
diff --git a/botocore/client.py b/botocore/client.py
index 96119cb..18e7132 100644
--- a/botocore/client.py
+++ b/botocore/client.py
@@ -10,28 +10,31 @@
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.
-import copy
import logging
+import functools
-import botocore.serialize
-import botocore.validate
from botocore import waiter, xform_name
+from botocore.auth import AUTH_TYPE_MAPS
from botocore.awsrequest import prepare_request_dict
-from botocore.compat import OrderedDict
-from botocore.endpoint import EndpointCreator, DEFAULT_TIMEOUT
+from botocore.docs.docstring import ClientMethodDocstring
+from botocore.docs.docstring import PaginatorDocstring
from botocore.exceptions import ClientError, DataNotFoundError
from botocore.exceptions import OperationNotPageableError
-from botocore.exceptions import InvalidS3AddressingStyleError
+from botocore.exceptions import UnknownSignatureVersionError
from botocore.hooks import first_non_none_response
from botocore.model import ServiceModel
from botocore.paginate import Paginator
-from botocore.signers import RequestSigner
from botocore.utils import CachedProperty
-from botocore.utils import get_service_module_name
from botocore.utils import fix_s3_host
+from botocore.utils import get_service_module_name
from botocore.utils import switch_to_virtual_host_style
-from botocore.docs.docstring import ClientMethodDocstring
-from botocore.docs.docstring import PaginatorDocstring
+from botocore.utils import switch_host_s3_accelerate
+from botocore.utils import S3_ACCELERATE_ENDPOINT
+from botocore.utils import S3RegionRedirector
+from botocore.args import ClientArgsCreator
+# Keep this imported. There's pre-existing code that uses
+# "from botocore.client import Config".
+from botocore.config import Config
logger = logging.getLogger(__name__)
@@ -57,10 +60,15 @@ class ClientCreator(object):
client_config=None):
service_model = self._load_service_model(service_name, api_version)
cls = self._create_client_class(service_name, service_model)
+ endpoint_bridge = ClientEndpointBridge(
+ self._endpoint_resolver, scoped_config, client_config,
+ service_signing_name=service_model.metadata.get('signingName'))
client_args = self._get_client_args(
service_model, region_name, is_secure, endpoint_url,
- verify, credentials, scoped_config, client_config)
- return cls(**client_args)
+ verify, credentials, scoped_config, client_config, endpoint_bridge)
+ service_client = cls(**client_args)
+ self._create_s3_redirector(service_client, endpoint_bridge)
+ return service_client
def create_client_class(self, service_name, api_version=None):
service_model = self._load_service_model(service_name, api_version)
@@ -106,179 +114,20 @@ class ClientCreator(object):
self._event_emitter.register('needs-retry.%s' % endpoint_prefix,
handler, unique_id=unique_id)
- def _get_signature_version_and_region(self, service_model, region_name,
- is_secure, scoped_config,
- endpoint_url):
- # Get endpoint heuristic overrides before creating the
- # request signer.
- resolver = self._endpoint_resolver
- scheme = 'https' if is_secure else 'http'
- endpoint_config = resolver.construct_endpoint(
- service_model.endpoint_prefix, region_name, scheme=scheme)
-
- # Signature version override from endpoint.
- signature_version = service_model.signature_version
- if 'signatureVersion' in endpoint_config.get('properties', {}):
- signature_version = endpoint_config[
- 'properties']['signatureVersion']
-
- # Signature overrides from a configuration file.
- if scoped_config is not None:
- service_config = scoped_config.get(service_model.endpoint_prefix)
- if service_config is not None and isinstance(service_config, dict):
- override = service_config.get('signature_version')
- if override:
- logger.debug(
- "Switching signature version for service %s "
- "to version %s based on config file override.",
- service_model.endpoint_prefix, override)
- signature_version = override
-
- # Determine the region name as well
- region_name = self._determine_region_name(
- endpoint_config, region_name, endpoint_url)
-
- return signature_version, region_name
-
- def _determine_region_name(self, endpoint_config, region_name=None,
- endpoint_url=None):
- # This is a helper function to determine region name to use.
- # It will take into account whether the user passes in a region
- # name, whether there is a rule in the endpoint JSON, or
- # an endpoint url was provided.
-
- # We only support the credentialScope.region in the properties
- # bag right now, so if it's available, it will override the
- # provided region name.
- region_name_override = endpoint_config['properties'].get(
- 'credentialScope', {}).get('region')
... 158718 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-botocore.git
More information about the Python-modules-commits
mailing list