[Python-modules-commits] [python-botocore] 01/05: New upstream version 1.6.6

Takaki Taniguchi takaki at moszumanska.debian.org
Thu Aug 24 02:49:06 UTC 2017


This is an automated email from the git hooks/post-receive script.

takaki pushed a commit to branch master
in repository python-botocore.

commit 6dd15efbc479a1fed49e67171621c75467819ecb
Author: TANIGUCHI Takaki <takaki at asis.media-as.org>
Date:   Thu Aug 24 11:33:12 2017 +0900

    New upstream version 1.6.6
---
 PKG-INFO                                           |    2 +-
 botocore.egg-info/PKG-INFO                         |    2 +-
 botocore.egg-info/SOURCES.txt                      |    9 +
 botocore/__init__.py                               |    2 +-
 botocore/args.py                                   |    1 +
 botocore/client.py                                 |   20 +-
 botocore/config.py                                 |   30 +-
 botocore/data/appstream/2016-12-01/service-2.json  |  315 +-
 botocore/data/athena/2017-05-18/paginators-1.json  |    3 +-
 botocore/data/batch/2016-08-10/service-2.json      |    6 +-
 botocore/data/budgets/2016-10-20/service-2.json    |   19 +-
 .../data/clouddirectory/2016-05-10/service-2.json  |  687 ++-
 .../data/cloudformation/2010-05-15/service-2.json  | 1242 ++++-
 .../data/cloudhsmv2/2017-04-28/paginators-1.json   |    3 +
 botocore/data/cloudhsmv2/2017-04-28/service-2.json |  838 +++
 botocore/data/cloudwatch/2010-08-01/service-2.json |   21 +-
 botocore/data/codebuild/2016-10-06/service-2.json  |    4 +-
 botocore/data/codedeploy/2014-10-06/service-2.json |  129 +-
 .../data/cognito-idp/2016-04-18/service-2.json     |  655 ++-
 botocore/data/config/2014-11-12/service-2.json     |   77 +-
 botocore/data/dynamodb/2012-08-10/service-2.json   |   20 +-
 botocore/data/ec2/2016-11-15/service-2.json        |  280 +-
 botocore/data/efs/2015-02-01/service-2.json        |   24 +-
 .../elasticbeanstalk/2010-12-01/service-2.json     |   37 +-
 botocore/data/emr/2009-03-31/service-2.json        |   64 +-
 botocore/data/endpoints.json                       |   69 +-
 .../data/firehose/2015-08-04/paginators-1.json     |    3 +
 botocore/data/firehose/2015-08-04/service-2.json   |  205 +-
 botocore/data/gamelift/2015-10-01/service-2.json   |  996 +++-
 botocore/data/glue/2017-03-31/paginators-1.json    |    3 +
 botocore/data/glue/2017-03-31/service-2.json       | 5463 ++++++++++++++++++++
 botocore/data/inspector/2016-02-16/service-2.json  |   16 +-
 botocore/data/kinesis/2013-12-02/paginators-1.json |    3 +-
 .../kinesisanalytics/2015-08-14/service-2.json     |   46 +-
 botocore/data/lambda/2015-03-31/examples-1.json    |    2 +-
 botocore/data/mgh/2017-05-31/paginators-1.json     |    3 +
 botocore/data/mgh/2017-05-31/service-2.json        | 1123 ++++
 botocore/data/pinpoint/2016-12-01/service-2.json   |  320 +-
 botocore/data/rds/2014-10-31/service-2.json        |  120 +-
 botocore/data/route53/2013-04-01/service-2.json    |    8 +-
 botocore/data/ses/2010-12-01/service-2.json        |   66 +-
 botocore/data/ssm/2014-11-06/service-2.json        | 1700 +++++-
 .../data/storagegateway/2013-06-30/service-2.json  |   24 +-
 botocore/docs/bcdoc/style.py                       |    7 +-
 botocore/docs/sharedexample.py                     |    4 +-
 botocore/docs/utils.py                             |   18 +
 botocore/exceptions.py                             |   20 +-
 botocore/handlers.py                               |    8 +
 botocore/paginate.py                               |   13 +-
 botocore/translate.py                              |   33 +-
 docs/source/conf.py                                |    4 +-
 tests/functional/test_retry.py                     |  103 +
 tests/functional/test_route53.py                   |   51 +
 tests/unit/docs/bcdoc/test_document.py             |    8 +-
 tests/unit/docs/bcdoc/test_style.py                |   15 +-
 tests/unit/docs/test_sharedexample.py              |   19 +
 tests/unit/docs/test_utils.py                      |    8 +
 tests/unit/test_args.py                            |   21 +
 tests/unit/test_client.py                          |   36 +
 tests/unit/test_exceptions.py                      |   16 +
 tests/unit/test_paginate.py                        |  143 +-
 tests/unit/test_translate.py                       |   40 +
 62 files changed, 14662 insertions(+), 565 deletions(-)

diff --git a/PKG-INFO b/PKG-INFO
index 94256cb..0b05117 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: botocore
-Version: 1.5.84
+Version: 1.6.6
 Summary: Low-level, data-driven core of boto 3.
 Home-page: https://github.com/boto/botocore
 Author: Amazon Web Services
diff --git a/botocore.egg-info/PKG-INFO b/botocore.egg-info/PKG-INFO
index 94256cb..0b05117 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.5.84
+Version: 1.6.6
 Summary: Low-level, data-driven core of boto 3.
 Home-page: https://github.com/boto/botocore
 Author: Amazon Web Services
diff --git a/botocore.egg-info/SOURCES.txt b/botocore.egg-info/SOURCES.txt
index b6d8d52..d25fa12 100644
--- a/botocore.egg-info/SOURCES.txt
+++ b/botocore.egg-info/SOURCES.txt
@@ -115,6 +115,8 @@ botocore/data/cloudfront/2017-03-25/service-2.json
 botocore/data/cloudfront/2017-03-25/waiters-2.json
 botocore/data/cloudhsm/2014-05-30/examples-1.json
 botocore/data/cloudhsm/2014-05-30/service-2.json
+botocore/data/cloudhsmv2/2017-04-28/paginators-1.json
+botocore/data/cloudhsmv2/2017-04-28/service-2.json
 botocore/data/cloudsearch/2011-02-01/service-2.json
 botocore/data/cloudsearch/2013-01-01/paginators-1.json
 botocore/data/cloudsearch/2013-01-01/service-2.json
@@ -248,6 +250,7 @@ botocore/data/events/2015-10-07/examples-1.json
 botocore/data/events/2015-10-07/paginators-1.json
 botocore/data/events/2015-10-07/service-2.json
 botocore/data/firehose/2015-08-04/examples-1.json
+botocore/data/firehose/2015-08-04/paginators-1.json
 botocore/data/firehose/2015-08-04/service-2.json
 botocore/data/gamelift/2015-10-01/examples-1.json
 botocore/data/gamelift/2015-10-01/paginators-1.json
@@ -256,6 +259,8 @@ botocore/data/glacier/2012-06-01/examples-1.json
 botocore/data/glacier/2012-06-01/paginators-1.json
 botocore/data/glacier/2012-06-01/service-2.json
 botocore/data/glacier/2012-06-01/waiters-2.json
+botocore/data/glue/2017-03-31/paginators-1.json
+botocore/data/glue/2017-03-31/service-2.json
 botocore/data/greengrass/2017-06-07/service-2.json
 botocore/data/health/2016-08-04/examples-1.json
 botocore/data/health/2016-08-04/paginators-1.json
@@ -309,6 +314,8 @@ botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json
 botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json
 botocore/data/meteringmarketplace/2016-01-14/examples-1.json
 botocore/data/meteringmarketplace/2016-01-14/service-2.json
+botocore/data/mgh/2017-05-31/paginators-1.json
+botocore/data/mgh/2017-05-31/service-2.json
 botocore/data/mturk/2017-01-17/paginators-1.json
 botocore/data/mturk/2017-01-17/service-2.json
 botocore/data/opsworks/2013-02-18/examples-1.json
@@ -602,6 +609,8 @@ tests/functional/test_paginator_config.py
 tests/functional/test_public_apis.py
 tests/functional/test_rds.py
 tests/functional/test_regions.py
+tests/functional/test_retry.py
+tests/functional/test_route53.py
 tests/functional/test_s3.py
 tests/functional/test_session.py
 tests/functional/test_six_imports.py
diff --git a/botocore/__init__.py b/botocore/__init__.py
index 29db991..5ee337f 100644
--- a/botocore/__init__.py
+++ b/botocore/__init__.py
@@ -16,7 +16,7 @@ import os
 import re
 import logging
 
-__version__ = '1.5.84'
+__version__ = '1.6.6'
 
 
 class NullHandler(logging.Handler):
diff --git a/botocore/args.py b/botocore/args.py
index 49af1c7..fb6b5bc 100644
--- a/botocore/args.py
+++ b/botocore/args.py
@@ -131,6 +131,7 @@ class ClientArgsCreator(object):
                 read_timeout=client_config.read_timeout,
                 max_pool_connections=client_config.max_pool_connections,
                 proxies=client_config.proxies,
+                retries=client_config.retries
             )
         s3_config = self.compute_s3_config(scoped_config,
                                            client_config)
diff --git a/botocore/client.py b/botocore/client.py
index e7a81c5..3843368 100644
--- a/botocore/client.py
+++ b/botocore/client.py
@@ -70,6 +70,7 @@ class ClientCreator(object):
             service_model, region_name, is_secure, endpoint_url,
             verify, credentials, scoped_config, client_config, endpoint_bridge)
         service_client = cls(**client_args)
+        self._register_retries(service_client)
         self._register_s3_events(
             service_client, endpoint_bridge, endpoint_url, client_config,
             scoped_config)
@@ -95,11 +96,10 @@ class ClientCreator(object):
         json_model = self._loader.load_service_model(service_name, 'service-2',
                                                      api_version=api_version)
         service_model = ServiceModel(json_model, service_name=service_name)
-        self._register_retries(service_model)
         return service_model
 
-    def _register_retries(self, service_model):
-        endpoint_prefix = service_model.endpoint_prefix
+    def _register_retries(self, client):
+        endpoint_prefix = client.meta.service_model.endpoint_prefix
 
         # First, we load the entire retry config for all services,
         # then pull out just the information we need.
@@ -109,15 +109,17 @@ class ClientCreator(object):
 
         retry_config = self._retry_config_translator.build_retry_config(
             endpoint_prefix, original_config.get('retry', {}),
-            original_config.get('definitions', {}))
+            original_config.get('definitions', {}),
+            client.meta.config.retries
+        )
 
         logger.debug("Registering retry handlers for service: %s",
-                     service_model.service_name)
+                     client.meta.service_model.service_name)
         handler = self._retry_handler_factory.create_retry_handler(
             retry_config, endpoint_prefix)
         unique_id = 'retry-config-%s' % endpoint_prefix
-        self._event_emitter.register('needs-retry.%s' % endpoint_prefix,
-                                     handler, unique_id=unique_id)
+        client.meta.events.register('needs-retry.%s' % endpoint_prefix,
+                                    handler, unique_id=unique_id)
 
     def _register_s3_events(self, client, endpoint_bridge, endpoint_url,
                             client_config, scoped_config):
@@ -681,9 +683,11 @@ class BaseClient(object):
             documented_paginator_cls = type(
                 paginator_class_name, (Paginator,), {'paginate': paginate})
 
+            operation_model = self._service_model.operation_model(actual_operation_name)
             paginator = documented_paginator_cls(
                 getattr(self, operation_name),
-                paginator_config)
+                paginator_config,
+                operation_model)
             return paginator
 
     def can_paginate(self, operation_name):
diff --git a/botocore/config.py b/botocore/config.py
index b318941..4b2e4c5 100644
--- a/botocore/config.py
+++ b/botocore/config.py
@@ -15,6 +15,8 @@ from botocore.compat import OrderedDict
 
 from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS
 from botocore.exceptions import InvalidS3AddressingStyleError
+from botocore.exceptions import InvalidRetryConfigurationError
+from botocore.exceptions import InvalidMaxRetryAttemptsError
 
 
 class Config(object):
@@ -88,6 +90,18 @@ class Config(object):
 
           * path -- Addressing style is always by path. Endpoints will be
             addressed as such: s3.amazonaws.com/mybucket
+
+    :type retries: dict
+    :param retries: A dictionary for retry specific configurations.
+        Valid keys are:
+
+        * 'max_attempts' -- An integer representing the maximum number of
+          retry attempts that will be made on a single request. For
+          example, setting this value to 2 will result in the request
+          being retried at most two times after the initial request. Setting
+          this value to 0 will result in no retries ever being attempted on
+          the initial request. If not provided, the number of retries will
+          default to whatever is modeled, which is typically four retries.
     """
     OPTION_DEFAULTS = OrderedDict([
         ('region_name', None),
@@ -99,7 +113,8 @@ class Config(object):
         ('parameter_validation', True),
         ('max_pool_connections', MAX_POOL_CONNECTIONS),
         ('proxies', None),
-        ('s3', None)
+        ('s3', None),
+        ('retries', None)
     ])
 
     def __init__(self, *args, **kwargs):
@@ -117,6 +132,8 @@ class Config(object):
         # Validate the s3 options
         self._validate_s3_configuration(self.s3)
 
+        self._validate_retry_configuration(self.retries)
+
     def _record_user_provided_options(self, args, kwargs):
         option_order = list(self.OPTION_DEFAULTS)
         user_provided_options = {}
@@ -157,6 +174,17 @@ class Config(object):
                 raise InvalidS3AddressingStyleError(
                     s3_addressing_style=addressing_style)
 
+    def _validate_retry_configuration(self, retries):
+        if retries is not None:
+            for key in retries:
+                if key not in ['max_attempts']:
+                    raise InvalidRetryConfigurationError(
+                        retry_config_option=key)
+                if key == 'max_attempts' and retries[key] < 0:
+                    raise InvalidMaxRetryAttemptsError(
+                        provided_max_attempts=retries[key]
+                    )
+
     def merge(self, other_config):
         """Merges the config object with another config object
 
diff --git a/botocore/data/appstream/2016-12-01/service-2.json b/botocore/data/appstream/2016-12-01/service-2.json
index 1f0ce61..57a2503 100644
--- a/botocore/data/appstream/2016-12-01/service-2.json
+++ b/botocore/data/appstream/2016-12-01/service-2.json
@@ -24,10 +24,25 @@
         {"shape":"LimitExceededException"},
         {"shape":"ResourceNotFoundException"},
         {"shape":"ConcurrentModificationException"},
-        {"shape":"IncompatibleImageException"}
+        {"shape":"IncompatibleImageException"},
+        {"shape":"OperationNotPermittedException"}
       ],
       "documentation":"<p>Associate a fleet to a stack.</p>"
     },
+    "CreateDirectoryConfig":{
+      "name":"CreateDirectoryConfig",
+      "http":{
+        "method":"POST",
+        "requestUri":"/"
+      },
+      "input":{"shape":"CreateDirectoryConfigRequest"},
+      "output":{"shape":"CreateDirectoryConfigResult"},
+      "errors":[
+        {"shape":"ResourceAlreadyExistsException"},
+        {"shape":"LimitExceededException"}
+      ],
+      "documentation":"<p>Creates a directory configuration with the given parameters.</p>"
+    },
     "CreateFleet":{
       "name":"CreateFleet",
       "http":{
@@ -42,7 +57,9 @@
         {"shape":"ResourceNotFoundException"},
         {"shape":"LimitExceededException"},
         {"shape":"InvalidRoleException"},
-        {"shape":"ConcurrentModificationException"}
+        {"shape":"ConcurrentModificationException"},
+        {"shape":"InvalidParameterCombinationException"},
+        {"shape":"IncompatibleImageException"}
       ],
       "documentation":"<p>Creates a new fleet.</p>"
     },
@@ -80,6 +97,20 @@
       ],
       "documentation":"<p>Creates a URL to start an AppStream 2.0 streaming session for a user. By default, the URL is valid only for 1 minute from the time that it is generated.</p>"
     },
+    "DeleteDirectoryConfig":{
+      "name":"DeleteDirectoryConfig",
+      "http":{
+        "method":"POST",
+        "requestUri":"/"
+      },
+      "input":{"shape":"DeleteDirectoryConfigRequest"},
+      "output":{"shape":"DeleteDirectoryConfigResult"},
+      "errors":[
+        {"shape":"ResourceInUseException"},
+        {"shape":"ResourceNotFoundException"}
+      ],
+      "documentation":"<p>Deletes the directory configuration with the given parameters.</p>"
+    },
     "DeleteFleet":{
       "name":"DeleteFleet",
       "http":{
@@ -110,6 +141,19 @@
       ],
       "documentation":"<p>Deletes the stack. After this operation completes, the environment can no longer be activated, and any reservations made for the stack are released.</p>"
     },
+    "DescribeDirectoryConfigs":{
+      "name":"DescribeDirectoryConfigs",
+      "http":{
+        "method":"POST",
+        "requestUri":"/"
+      },
+      "input":{"shape":"DescribeDirectoryConfigsRequest"},
+      "output":{"shape":"DescribeDirectoryConfigsResult"},
+      "errors":[
+        {"shape":"ResourceNotFoundException"}
+      ],
+      "documentation":"<p>Returns a list describing the specified directory configurations.</p>"
+    },
     "DescribeFleets":{
       "name":"DescribeFleets",
       "http":{
@@ -147,7 +191,7 @@
       "errors":[
         {"shape":"InvalidParameterCombinationException"}
       ],
-      "documentation":"<p>Describes the streaming sessions for a stack and a fleet. If a user ID is provided, this operation returns streaming sessions for only that user. Pass this value for the <code>nextToken</code> parameter in a subsequent call to this operation to retrieve the next set of items. If an authentication type is not provided, the operation defaults to users authenticated using a streaming URL.</p>"
+      "documentation":"<p>Describes the streaming sessions for a stack and a fleet. If a user ID is provided, this operation returns streaming sessions for only that user. To retrieve the next set of items, pass this value for the <code>nextToken</code> parameter in a subsequent call to this operation. If an authentication type is not provided, the operation defaults to users authenticated using a streaming URL.</p>"
     },
     "DescribeStacks":{
       "name":"DescribeStacks",
@@ -160,7 +204,7 @@
       "errors":[
         {"shape":"ResourceNotFoundException"}
       ],
-      "documentation":"<p>If stack names are not provided, this operation describes the specified stacks; otherwise, all stacks in the account are described. Pass the <code>nextToken</code> value in a subsequent call to this operation to retrieve the next set of items.</p>"
+      "documentation":"<p>If stack names are not provided, this operation describes the specified stacks; otherwise, all stacks in the account are described. To retrieve the next set of items, pass the <code>nextToken</code> value in a subsequent call to this operation.</p>"
     },
     "DisassociateFleet":{
       "name":"DisassociateFleet",
@@ -237,6 +281,21 @@
       ],
       "documentation":"<p>Stops a fleet.</p>"
     },
+    "UpdateDirectoryConfig":{
+      "name":"UpdateDirectoryConfig",
+      "http":{
+        "method":"POST",
+        "requestUri":"/"
+      },
+      "input":{"shape":"UpdateDirectoryConfigRequest"},
+      "output":{"shape":"UpdateDirectoryConfigResult"},
+      "errors":[
+        {"shape":"ResourceInUseException"},
+        {"shape":"ResourceNotFoundException"},
+        {"shape":"ConcurrentModificationException"}
+      ],
+      "documentation":"<p>Updates the directory configuration with the given parameters.</p>"
+    },
     "UpdateFleet":{
       "name":"UpdateFleet",
       "http":{
@@ -253,7 +312,8 @@
         {"shape":"ResourceNotAvailableException"},
         {"shape":"InvalidParameterCombinationException"},
         {"shape":"ConcurrentModificationException"},
-        {"shape":"IncompatibleImageException"}
+        {"shape":"IncompatibleImageException"},
+        {"shape":"OperationNotPermittedException"}
       ],
       "documentation":"<p>Updates an existing fleet. All the attributes except the fleet name can be updated in the <b>STOPPED</b> state. When a fleet is in the <b>RUNNING</b> state, only <code>DisplayName</code> and <code>ComputeCapacity</code> can be updated. A fleet cannot be updated in a status of <b>STARTING</b> or <b>STOPPING</b>.</p>"
     },
@@ -277,6 +337,17 @@
     }
   },
   "shapes":{
+    "AccountName":{
+      "type":"string",
+      "min":1,
+      "sensitive":true
+    },
+    "AccountPassword":{
+      "type":"string",
+      "max":127,
+      "min":1,
+      "sensitive":true
+    },
     "Application":{
       "type":"structure",
       "members":{
@@ -302,7 +373,7 @@
         },
         "Enabled":{
           "shape":"Boolean",
-          "documentation":"<p>An application can be disabled after image creation if there is a problem.</p>"
+          "documentation":"<p>If there is a problem, an application can be disabled after image creation.</p>"
         },
         "Metadata":{
           "shape":"Metadata",
@@ -393,6 +464,37 @@
       "documentation":"<p>An API error occurred. Wait a few minutes and try again.</p>",
       "exception":true
     },
+    "CreateDirectoryConfigRequest":{
+      "type":"structure",
+      "required":[
+        "DirectoryName",
+        "OrganizationalUnitDistinguishedNames",
+        "ServiceAccountCredentials"
+      ],
+      "members":{
+        "DirectoryName":{
+          "shape":"DirectoryName",
+          "documentation":"<p>The fully qualified name of the directory, such as corp.example.com</p>"
+        },
+        "OrganizationalUnitDistinguishedNames":{
+          "shape":"OrganizationalUnitDistinguishedNamesList",
+          "documentation":"<p>The list of the distinguished names of organizational units to place computer accounts in.</p>"
+        },
+        "ServiceAccountCredentials":{
+          "shape":"ServiceAccountCredentials",
+          "documentation":"<p>The <i>AccountName</i> and <i>AccountPassword</i> values for the service account, which are used by the streaming instance to connect to the directory.</p>"
+        }
+      }
+    },
+    "CreateDirectoryConfigResult":{
+      "type":"structure",
+      "members":{
+        "DirectoryConfig":{
+          "shape":"DirectoryConfig",
+          "documentation":"<p>Directory configuration details.</p>"
+        }
+      }
+    },
     "CreateFleetRequest":{
       "type":"structure",
       "required":[
@@ -412,7 +514,7 @@
         },
         "InstanceType":{
           "shape":"String",
-          "documentation":"<p>The instance type of compute resources for the fleet. Fleet instances are launched from this instance type.</p>"
+          "documentation":"<p>The instance type of compute resources for the fleet. Fleet instances are launched from this instance type. Available instance types are:</p> <ul> <li> <p>stream.standard.medium</p> </li> <li> <p>stream.standard.large</p> </li> <li> <p>stream.compute.large</p> </li> <li> <p>stream.compute.xlarge</p> </li> <li> <p>stream.compute.2xlarge</p> </li> <li> <p>stream.compute.4xlarge</p> </li> <li> <p>stream.compute.8xlarge</p> </li> <li> <p>stream.memory.large</p>  [...]
         },
         "ComputeCapacity":{
           "shape":"ComputeCapacity",
@@ -440,7 +542,11 @@
         },
         "EnableDefaultInternetAccess":{
           "shape":"BooleanObject",
-          "documentation":"<p>Enables or disables default Internet access for the fleet.</p>"
+          "documentation":"<p>Enables or disables default internet access for the fleet.</p>"
+        },
+        "DomainJoinInfo":{
+          "shape":"DomainJoinInfo",
+          "documentation":"<p>The <i>DirectoryName</i> and <i>OrganizationalUnitDistinguishedName</i> values, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
         }
       },
       "documentation":"<p>Contains the parameters for the new fleet to create.</p>"
@@ -502,7 +608,7 @@
           "documentation":"<p>The fleet for which the URL is generated.</p>"
         },
         "UserId":{
-          "shape":"UserId",
+          "shape":"StreamingUrlUserId",
           "documentation":"<p>A unique user ID for whom the URL is generated.</p>"
         },
         "ApplicationId":{
@@ -528,10 +634,25 @@
         },
         "Expires":{
           "shape":"Timestamp",
-          "documentation":"<p>Elapsed seconds after the Unix epoch, at which time this URL expires.</p>"
+          "documentation":"<p>Elapsed seconds after the Unix epoch, when this URL expires.</p>"
         }
       }
     },
+    "DeleteDirectoryConfigRequest":{
+      "type":"structure",
+      "required":["DirectoryName"],
+      "members":{
+        "DirectoryName":{
+          "shape":"DirectoryName",
+          "documentation":"<p>The name of the directory configuration to be deleted.</p>"
+        }
+      }
+    },
+    "DeleteDirectoryConfigResult":{
+      "type":"structure",
+      "members":{
+      }
+    },
     "DeleteFleetRequest":{
       "type":"structure",
       "required":["Name"],
@@ -562,6 +683,36 @@
       "members":{
       }
     },
+    "DescribeDirectoryConfigsRequest":{
+      "type":"structure",
+      "members":{
+        "DirectoryNames":{
+          "shape":"DirectoryNameList",
+          "documentation":"<p>A specific list of directory names.</p>"
+        },
+        "MaxResults":{
+          "shape":"Integer",
+          "documentation":"<p>The size of each page of results.</p>"
+        },
+        "NextToken":{
+          "shape":"String",
+          "documentation":"<p>The DescribeDirectoryConfigsResult.NextToken from a previous call to DescribeDirectoryConfigs. If this is the first call, pass null.</p>"
+        }
+      }
+    },
+    "DescribeDirectoryConfigsResult":{
+      "type":"structure",
+      "members":{
+        "DirectoryConfigs":{
+          "shape":"DirectoryConfigList",
+          "documentation":"<p>The list of directory configurations.</p>"
+        },
+        "NextToken":{
+          "shape":"String",
+          "documentation":"<p>If not null, more results are available. To retrieve the next set of items, pass this value for the NextToken parameter in a subsequent call to DescribeDirectoryConfigs.</p>"
+        }
+      }
+    },
     "DescribeFleetsRequest":{
       "type":"structure",
       "members":{
@@ -682,6 +833,38 @@
       "type":"string",
       "max":256
     },
+    "DirectoryConfig":{
+      "type":"structure",
+      "required":["DirectoryName"],
+      "members":{
+        "DirectoryName":{
+          "shape":"DirectoryName",
+          "documentation":"<p>The fully qualified name of the directory, such as corp.example.com</p>"
+        },
+        "OrganizationalUnitDistinguishedNames":{
+          "shape":"OrganizationalUnitDistinguishedNamesList",
+          "documentation":"<p>The list of the distinguished names of organizational units in which to place computer accounts.</p>"
+        },
+        "ServiceAccountCredentials":{
+          "shape":"ServiceAccountCredentials",
+          "documentation":"<p>The <i>AccountName</i> and <i>AccountPassword</i> of the service account, to be used by the streaming instance to connect to the directory.</p>"
+        },
+        "CreatedTime":{
+          "shape":"Timestamp",
+          "documentation":"<p>The time stamp when the directory configuration was created within AppStream 2.0.</p>"
+        }
+      },
+      "documentation":"<p>Full directory configuration details, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
+    },
+    "DirectoryConfigList":{
+      "type":"list",
+      "member":{"shape":"DirectoryConfig"}
+    },
+    "DirectoryName":{"type":"string"},
+    "DirectoryNameList":{
+      "type":"list",
+      "member":{"shape":"DirectoryName"}
+    },
     "DisassociateFleetRequest":{
       "type":"structure",
       "required":[
@@ -708,6 +891,20 @@
       "type":"string",
       "max":100
     },
+    "DomainJoinInfo":{
+      "type":"structure",
+      "members":{
+        "DirectoryName":{
+          "shape":"DirectoryName",
+          "documentation":"<p>The fully qualified name of the directory, such as corp.example.com</p>"
+        },
+        "OrganizationalUnitDistinguishedName":{
+          "shape":"OrganizationalUnitDistinguishedName",
+          "documentation":"<p>The distinguished name of the organizational unit to place the computer account in.</p>"
+        }
+      },
+      "documentation":"<p>The <i>DirectoryName</i> and <i>OrganizationalUnitDistinguishedName</i> values, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
+    },
     "ErrorMessage":{
       "type":"string",
       "documentation":"<p>The error message in the exception.</p>"
@@ -792,7 +989,11 @@
         },
         "EnableDefaultInternetAccess":{
           "shape":"BooleanObject",
-          "documentation":"<p>Whether default Internet access is enabled for the fleet. </p>"
+          "documentation":"<p>Whether default internet access is enabled for the fleet. </p>"
+        },
+        "DomainJoinInfo":{
+          "shape":"DomainJoinInfo",
+          "documentation":"<p>The <i>DirectoryName</i> and <i>OrganizationalUnitDistinguishedName</i> values, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
         }
       },
       "documentation":"<p>Contains the parameters for a fleet.</p>"
@@ -802,7 +1003,8 @@
       "documentation":"<p>Fleet attribute.</p>",
       "enum":[
         "VPC_CONFIGURATION",
-        "VPC_CONFIGURATION_SECURITY_GROUP_IDS"
+        "VPC_CONFIGURATION_SECURITY_GROUP_IDS",
+        "DOMAIN_JOIN_INFO"
       ]
     },
     "FleetAttributes":{
@@ -837,7 +1039,21 @@
         "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION",
         "SUBNET_NOT_FOUND",
         "IMAGE_NOT_FOUND",
-        "INVALID_SUBNET_CONFIGURATION"
+        "INVALID_SUBNET_CONFIGURATION",
+        "SECURITY_GROUPS_NOT_FOUND",
+        "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION",
+        "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND",
+        "DOMAIN_JOIN_ERROR_ACCESS_DENIED",
+        "DOMAIN_JOIN_ERROR_LOGON_FAILURE",
+        "DOMAIN_JOIN_ERROR_INVALID_PARAMETER",
+        "DOMAIN_JOIN_ERROR_MORE_DATA",
+        "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN",
+        "DOMAIN_JOIN_ERROR_NOT_SUPPORTED",
+        "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME",
+        "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED",
+        "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED",
+        "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED",
+        "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
       ]
     },
     "FleetErrors":{
@@ -880,7 +1096,7 @@
         },
         "State":{
           "shape":"ImageState",
-          "documentation":"<p>The image starts in the <b>PENDING</b> state, and then moves to <b>AVAILABLE</b> if image creation succeeds and <b>FAILED</b> if image creation has failed.</p>"
+          "documentation":"<p>The image starts in the <b>PENDING</b> state. If image creation succeeds, it moves to <b>AVAILABLE</b>. If image creation fails, it moves to <b>FAILED</b>.</p>"
         },
         "Visibility":{
           "shape":"VisibilityType",
@@ -908,7 +1124,7 @@
         },
         "CreatedTime":{
           "shape":"Timestamp",
-          "documentation":"<p>The timestamp when the image was created.</p>"
+          "documentation":"<p>The time stamp when the image was created.</p>"
         },
         "PublicBaseImageReleasedDate":{
           "shape":"Timestamp",
@@ -1058,6 +1274,14 @@
       "documentation":"<p>The attempted operation is not permitted.</p>",
       "exception":true
     },
+    "OrganizationalUnitDistinguishedName":{
+      "type":"string",
+      "max":2000
+    },
+    "OrganizationalUnitDistinguishedNamesList":{
+      "type":"list",
+      "member":{"shape":"OrganizationalUnitDistinguishedName"}
+    },
     "PlatformType":{
       "type":"string",
       "enum":["WINDOWS"]
@@ -1105,6 +1329,24 @@
       "documentation":"<p>A list of security groups.</p>",
       "max":5
     },
+    "ServiceAccountCredentials":{
+      "type":"structure",
+      "required":[
+        "AccountName",
+        "AccountPassword"
+      ],
+      "members":{
+        "AccountName":{
+          "shape":"AccountName",
+          "documentation":"<p>The user name of an account in the directory that is used by AppStream 2.0 streaming instances to connect to the directory. This account must have the following privileges: create computer objects, join computers to the domain, change/reset the password on descendant computer objects for the organizational units specified.</p>"
+        },
+        "AccountPassword":{
+          "shape":"AccountPassword",
+          "documentation":"<p>The password for the user account for directory actions.</p>"
+        }
+      },
+      "documentation":"<p>The <i>AccountName</i> and <i>AccountPassword</i> of the service account, to be used by the streaming instance to connect to the directory.</p>"
+    },
     "Session":{
       "type":"structure",
       "required":[
@@ -1178,7 +1420,7 @@
         },
         "CreatedTime":{
           "shape":"Timestamp",
-          "documentation":"<p>The timestamp when the stack was created.</p>"
+          "documentation":"<p>The time stamp when the stack was created.</p>"
         },
         "StorageConnectors":{
           "shape":"StorageConnectorList",
@@ -1277,6 +1519,12 @@
       "documentation":"<p>The type of storage connector. The possible values include: HOMEFOLDERS.</p>",
       "enum":["HOMEFOLDERS"]
     },
+    "StreamingUrlUserId":{
+      "type":"string",
+      "max":32,
+      "min":2,
+      "pattern":"[\\w+=,. at -]*"
+    },
     "String":{
       "type":"string",
       "min":1
@@ -1291,6 +1539,33 @@
       "documentation":"<p>A list of subnet IDs.</p>"
     },
     "Timestamp":{"type":"timestamp"},
+    "UpdateDirectoryConfigRequest":{
+      "type":"structure",
+      "required":["DirectoryName"],
+      "members":{
+        "DirectoryName":{
+          "shape":"DirectoryName",
+          "documentation":"<p>The name of the existing directory configuration to be updated.</p>"
+        },
+        "OrganizationalUnitDistinguishedNames":{
+          "shape":"OrganizationalUnitDistinguishedNamesList",
+          "documentation":"<p>The list of the distinguished names of organizational units to place computer accounts in.</p>"
+        },
+        "ServiceAccountCredentials":{
+          "shape":"ServiceAccountCredentials",
+          "documentation":"<p>The <i>AccountName</i> and <i>AccountPassword</i> values for the service account, which are used by the streaming instance to connect to the directory</p>"
+        }
+      }
+    },
+    "UpdateDirectoryConfigResult":{
+      "type":"structure",
+      "members":{
+        "DirectoryConfig":{
+          "shape":"DirectoryConfig",
+          "documentation":"<p>The updated directory configuration details.</p>"
+        }
+      }
+    },
     "UpdateFleetRequest":{
       "type":"structure",
       "required":["Name"],
@@ -1305,7 +1580,7 @@
         },
         "InstanceType":{
           "shape":"String",
-          "documentation":"<p>The instance type of compute resources for the fleet. Fleet instances are launched from this instance type.</p>"
+          "documentation":"<p>The instance type of compute resources for the fleet. Fleet instances are launched from this instance type. Available instance types are:</p> <ul> <li> <p>stream.standard.medium</p> </li> <li> <p>stream.standard.large</p> </li> <li> <p>stream.compute.large</p> </li> <li> <p>stream.compute.xlarge</p> </li> <li> <p>stream.compute.2xlarge</p> </li> <li> <p>stream.compute.4xlarge</p> </li> <li> <p>stream.compute.8xlarge</p> </li> <li> <p>stream.memory.large</p>  [...]
         },
         "ComputeCapacity":{
           "shape":"ComputeCapacity",
@@ -1338,7 +1613,11 @@
         },
         "EnableDefaultInternetAccess":{
           "shape":"BooleanObject",
-          "documentation":"<p>Enables or disables default Internet access for the fleet.</p>"
+          "documentation":"<p>Enables or disables default internet access for the fleet.</p>"
+        },
+        "DomainJoinInfo":{
+          "shape":"DomainJoinInfo",
+          "documentation":"<p>The <i>DirectoryName</i> and <i>OrganizationalUnitDistinguishedName</i> values, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
         },
         "AttributesToDelete":{
           "shape":"FleetAttributes",
diff --git a/botocore/data/athena/2017-05-18/paginators-1.json b/botocore/data/athena/2017-05-18/paginators-1.json
index ce96fb1..8cefb4a 100644
--- a/botocore/data/athena/2017-05-18/paginators-1.json
+++ b/botocore/data/athena/2017-05-18/paginators-1.json
@@ -16,7 +16,8 @@
       "input_token": "NextToken",
       "output_token": "NextToken",
       "limit_key": "MaxResults",
-      "result_key": "ResultSet"
+      "result_key": "ResultSet.Rows",
+      "non_aggregate_keys": ["ResultSet.ResultSetMetadata"]
     }
   }
 }
diff --git a/botocore/data/batch/2016-08-10/service-2.json b/botocore/data/batch/2016-08-10/service-2.json
index 7d5423b..48ac970 100644
--- a/botocore/data/batch/2016-08-10/service-2.json
+++ b/botocore/data/batch/2016-08-10/service-2.json
@@ -255,7 +255,8 @@
         "reason":{
           "shape":"String",
           "documentation":"<p>A short (255 max characters) human-readable string to provide additional details about a running or stopped container.</p>"
-        }
+        },
+        "logStreamName":{"shape":"String"}
       },
       "documentation":"<p>An object representing the details of a container that is part of a job attempt.</p>"
     },
@@ -573,7 +574,8 @@
         "taskArn":{
           "shape":"String",
           "documentation":"<p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job.</p>"
-        }
+        },
+        "logStreamName":{"shape":"String"}
       },
       "documentation":"<p>An object representing the details of a container that is part of a job.</p>"
     },
diff --git a/botocore/data/budgets/2016-10-20/service-2.json b/botocore/data/budgets/2016-10-20/service-2.json
old mode 100755
new mode 100644
index 9dfcd5e..194d804
--- a/botocore/data/budgets/2016-10-20/service-2.json
+++ b/botocore/data/budgets/2016-10-20/service-2.json
@@ -250,16 +250,17 @@
     },
     "BudgetName":{
       "type":"string",
-      "documentation":"A string represents the budget name. No \":\" character is allowed.",
+      "documentation":"A string represents the budget name. No \":\" and \"\\\" character is allowed.",
       "max":100,
-      "pattern":"[^:]+"
+      "pattern":"[^:\\\\]+"
     },
     "BudgetType":{
       "type":"string",
-      "documentation":"The type of a budget. Can be COST or USAGE.",
+      "documentation":"The type of a budget. It should be COST, USAGE, or RI_UTILIZATION.",
       "enum":[
         "USAGE",
-        "COST"
+        "COST",
+        "RI_UTILIZATION"
       ]
     },
     "Budgets":{
@@ -654,7 +655,7 @@
       ],
       "members":{
         "Amount":{"shape":"NumericValue"},
-        "Unit":{"shape":"GenericString"}
+        "Unit":{"shape":"UnitValue"}
       },
       "documentation":"A structure represent either a cost spend or usage spend. Contains an amount and a unit."
     },
@@ -699,13 +700,19 @@
     },
     "TimeUnit":{
       "type":"string",
-      "documentation":"The time unit of the budget. e.g. weekly, monthly, etc.",
+      "documentation":"The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc.",
       "enum":[
+        "DAILY",
         "MONTHLY",
         "QUARTERLY",
         "ANNUALLY"
       ]
     },
+    "UnitValue":{
+      "type":"string",
+      "documentation":"A string to represent budget spend unit. It should be not null and not empty.",
+      "min":1
+    },
     "UpdateBudgetRequest":{
       "type":"structure",
       "required":[
diff --git a/botocore/data/clouddirectory/2016-05-10/service-2.json b/botocore/data/clouddirectory/2016-05-10/service-2.json
index 0b1c1a2..3586469 100644
--- a/botocore/data/clouddirectory/2016-05-10/service-2.json
+++ b/botocore/data/clouddirectory/2016-05-10/service-2.json
@@ -141,6 +141,7 @@
         {"shape":"ValidationException"},
         {"shape":"LimitExceededException"},
         {"shape":"AccessDeniedException"},
+        {"shape":"DirectoryNotEnabledException"},
         {"shape":"ResourceNotFoundException"},
         {"shape":"InvalidAttachmentException"},
         {"shape":"ValidationException"},
@@ -517,6 +518,7 @@
         {"shape":"ValidationException"},
         {"shape":"LimitExceededException"},
         {"shape":"AccessDeniedException"},
+        {"shape":"DirectoryNotEnabledException"},
         {"shape":"ResourceNotFoundException"},
         {"shape":"FacetValidationException"}
       ],
@@ -810,6 +812,7 @@
         {"shape":"ValidationException"},
         {"shape":"LimitExceededException"},
         {"shape":"AccessDeniedException"},
+        {"shape":"DirectoryNotEnabledException"},
         {"shape":"ResourceNotFoundException"},
         {"shape":"InvalidNextTokenException"},
         {"shape":"FacetValidationException"}
@@ -970,6 +973,7 @@
         {"shape":"ValidationException"},
         {"shape":"LimitExceededException"},
         {"shape":"AccessDeniedException"},
+        {"shape":"DirectoryNotEnabledException"},
         {"shape":"ResourceNotFoundException"},
         {"shape":"InvalidNextTokenException"},
         {"shape":"FacetValidationException"}
@@ -1657,7 +1661,7 @@
           "documentation":"<p>The name of the link.</p>"
         }
       },
-      "documentation":"<p>Represents the output of an <code>AttachObject</code> operation.</p>"
+      "documentation":"<p>Represents the output of an <a>AttachObject</a> operation.</p>"
     },
     "BatchAttachObjectResponse":{
       "type":"structure",
@@ -1667,7 +1671,137 @@
           "documentation":"<p>The <code>ObjectIdentifier</code> of the object that has been attached.</p>"
         }
       },
-      "documentation":"<p>Represents the output batch <code>AttachObject</code> response operation.</p>"
+      "documentation":"<p>Represents the output batch <a>AttachObject</a> response operation.</p>"
+    },
+    "BatchAttachPolicy":{
+      "type":"structure",
+      "required":[
+        "PolicyReference",
+        "ObjectReference"
+      ],
+      "members":{
+        "PolicyReference":{
+          "shape":"ObjectReference",
+          "documentation":"<p>The reference that is associated with the policy object.</p>"
+        },
+        "ObjectReference":{
+          "shape":"ObjectReference",
+          "documentation":"<p>The reference that identifies the object to which the policy will be attached.</p>"
+        }
+      },
+      "documentation":"<p>Attaches a policy object to a regular object inside a <a>BatchRead</a> operation. For more information, see <a>AttachPolicy</a> and <a>BatchReadRequest$Operations</a>.</p>"
+    },
+    "BatchAttachPolicyResponse":{
+      "type":"structure",
... 19527 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