diff --git a/PKG-INFO b/PKG-INFO index ee01e818..5a81113b 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: botocore -Version: 0.52.0 +Version: 0.55.0 Summary: Low-level, data-driven core of boto 3. Home-page: https://github.com/boto/botocore Author: Mitch Garnaat diff --git a/botocore.egg-info/PKG-INFO b/botocore.egg-info/PKG-INFO index ee01e818..5a81113b 100644 --- a/botocore.egg-info/PKG-INFO +++ b/botocore.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: botocore -Version: 0.52.0 +Version: 0.55.0 Summary: Low-level, data-driven core of boto 3. Home-page: https://github.com/boto/botocore Author: Mitch Garnaat diff --git a/botocore.egg-info/SOURCES.txt b/botocore.egg-info/SOURCES.txt index 479d32d0..886637ad 100644 --- a/botocore.egg-info/SOURCES.txt +++ b/botocore.egg-info/SOURCES.txt @@ -40,8 +40,10 @@ botocore/data/aws/cloudformation/2010-05-15.json botocore/data/aws/cloudfront/2012-05-05.json botocore/data/aws/cloudfront/2013-05-12.json botocore/data/aws/cloudfront/2013-11-11.json +botocore/data/aws/cloudfront/2014-05-31.json botocore/data/aws/cloudsearch/2011-02-01.json botocore/data/aws/cloudsearch/2013-01-01.json +botocore/data/aws/cloudsearchdomain/2013-01-01.json botocore/data/aws/cloudtrail/2013-11-01.json botocore/data/aws/cloudwatch/2010-08-01.json botocore/data/aws/datapipeline/2012-10-29.json diff --git a/botocore.egg-info/requires.txt b/botocore.egg-info/requires.txt index 4f44845f..7f1c5444 100644 --- a/botocore.egg-info/requires.txt +++ b/botocore.egg-info/requires.txt @@ -1,3 +1,3 @@ six>=1.1.0 jmespath==0.4.1 -python-dateutil>=2.1 \ No newline at end of file +python-dateutil>=2.1 diff --git a/botocore/__init__.py b/botocore/__init__.py index 9e7a3bd4..0ba20896 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re import logging -__version__ = '0.52.0' +__version__ = '0.55.0' class NullHandler(logging.Handler): diff --git a/botocore/auth.py b/botocore/auth.py index 8b6224b9..602e7e70 100644 --- a/botocore/auth.py +++ b/botocore/auth.py @@ -21,6 +21,7 @@ import logging from email.utils import formatdate from operator import itemgetter import functools +import time from botocore.exceptions import NoCredentialsError from botocore.utils import normalize_url_path @@ -37,6 +38,7 @@ EMPTY_SHA256_HASH = ( # Experimenting with various buffer sizes showed that this value generally # gave the best result (in terms of performance). PAYLOAD_BUFFER = 1024 * 1024 +ISO8601 = '%Y-%m-%dT%H:%M:%SZ' class BaseSigner(object): @@ -94,7 +96,7 @@ class SigV2Auth(BaseSigner): params['AWSAccessKeyId'] = self.credentials.access_key params['SignatureVersion'] = '2' params['SignatureMethod'] = 'HmacSHA256' - params['Timestamp'] = datetime.datetime.utcnow().isoformat() + params['Timestamp'] = time.strftime(ISO8601, time.gmtime()) if self.credentials.token: params['SecurityToken'] = self.credentials.token qs, signature = self.calc_signature(request, params) diff --git a/botocore/data/aws/_endpoints.json b/botocore/data/aws/_endpoints.json index 5d4b8a25..aa80d9f4 100644 --- a/botocore/data/aws/_endpoints.json +++ b/botocore/data/aws/_endpoints.json @@ -78,7 +78,7 @@ } }, { - "uri":"{scheme}://{service}-{region}.amazonaws.com.cn", + "uri":"{scheme}://{service}.{region}.amazonaws.com.cn", "constraints":[ ["region", "startsWith", "cn-"] ] @@ -163,7 +163,7 @@ ], "dynamodb": [ { - "uri": "http://localhost:8080", + "uri": "http://localhost:8000", "constraints": [ ["region", "equals", "local"] ], diff --git a/botocore/data/aws/cloudfront/2014-05-31.json b/botocore/data/aws/cloudfront/2014-05-31.json new file mode 100644 index 00000000..e9972bc9 --- /dev/null +++ b/botocore/data/aws/cloudfront/2014-05-31.json @@ -0,0 +1,9525 @@ +{ + "api_version": "2014-05-31", + "type": "rest-xml", + "signature_version": "v4", + "service_full_name": "Amazon CloudFront", + "service_abbreviation": "CloudFront", + "global_endpoint": "cloudfront.amazonaws.com", + "endpoint_prefix": "cloudfront", + "xmlnamespace": "http://cloudfront.amazonaws.com/doc/2014-05-31/", + "documentation": "\n ", + "operations": { + "CreateCloudFrontOriginAccessIdentity": { + "name": "CreateCloudFrontOriginAccessIdentity2014_05_31", + "http": { + "uri": "/2014-05-31/origin-access-identity/cloudfront", + "method": "POST", + "response_code": 201 + }, + "input": { + "shape_name": "CreateCloudFrontOriginAccessIdentityRequest", + "type": "structure", + "members": { + "CloudFrontOriginAccessIdentityConfig": { + "shape_name": "CloudFrontOriginAccessIdentityConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.\n If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request,\n CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the origin access identity.\n ", + "required": true + } + }, + "documentation": "\n The origin access identity's configuration information.\n ", + "required": true, + "payload": true + } + }, + "documentation": "\n The request to create a new origin access identity.\n " + }, + "output": { + "shape_name": "CreateCloudFrontOriginAccessIdentityResult", + "type": "structure", + "members": { + "CloudFrontOriginAccessIdentity": { + "shape_name": "CloudFrontOriginAccessIdentity", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The ID for the origin access identity. For example: E74FTE3AJFJ256A.\n ", + "required": true + }, + "S3CanonicalUserId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.\n ", + "required": true + }, + "CloudFrontOriginAccessIdentityConfig": { + "shape_name": "CloudFrontOriginAccessIdentityConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.\n If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request,\n CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the origin access identity.\n ", + "required": true + } + }, + "documentation": "\n The current configuration information for the identity.\n " + } + }, + "documentation": "\n The origin access identity's information.\n ", + "payload": true + }, + "Location": { + "shape_name": "string", + "type": "string", + "documentation": "\n The fully qualified URI of the new origin access identity just created.\n For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.\n ", + "location": "header", + "location_name": "Location" + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the origin access identity created.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "CloudFrontOriginAccessIdentityAlreadyExists", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request,\n CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.\n " + }, + { + "shape_name": "MissingBody", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires a body. Ensure that the body is present and the Content-Type header is set.\n " + }, + { + "shape_name": "TooManyCloudFrontOriginAccessIdentities", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Processing your request would cause you to exceed the maximum number of origin access identities allowed.\n " + }, + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + }, + { + "shape_name": "InconsistentQuantities", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The value of Quantity and the size of Items do not match.\n " + } + ], + "documentation": "\n Create a new origin access identity.\n " + }, + "CreateDistribution": { + "name": "CreateDistribution2014_05_31", + "http": { + "uri": "/2014-05-31/distribution", + "method": "POST", + "response_code": 201 + }, + "input": { + "shape_name": "CreateDistributionRequest", + "type": "structure", + "members": { + "DistributionConfig": { + "shape_name": "DistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.\n ", + "required": true + }, + "DefaultRootObject": { + "shape_name": "string", + "type": "string", + "documentation": "\n The object that you want CloudFront to return (for example, index.html)\n when an end user requests the root URL for your distribution\n (http://www.example.com) instead of an object in your distribution\n (http://www.example.com/index.html). Specifying a default root\n object avoids exposing the contents of your distribution.\n If you don't want to specify a default root object when you create a\n distribution, include an empty DefaultRootObject element.\n To delete the default root object from an existing distribution, update the\n distribution configuration and include an empty DefaultRootObject\n element. To replace the default root object, update the distribution configuration\n and specify the new object.\n ", + "required": true + }, + "Origins": { + "shape_name": "Origins", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of origins for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "OriginList", + "type": "list", + "members": { + "shape_name": "Origin", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique identifier for the origin. The value of Id must be unique within\n the distribution.\n You use the value of Id when you create a cache behavior. The Id\n identifies the origin that CloudFront routes a request to when the request\n matches the path pattern for that cache behavior.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n Amazon S3 origins: The DNS name of the Amazon S3 bucket from\n which you want CloudFront to get objects for this origin, for example,\n myawsbucket.s3.amazonaws.com.\n Custom origins: The DNS domain name for the HTTP server from which\n you want CloudFront to get objects for this origin, for example,\n www.example.com.\n ", + "required": true + }, + "S3OriginConfig": { + "shape_name": "S3OriginConfig", + "type": "structure", + "members": { + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n The CloudFront origin access identity to associate with the origin. Use\n an origin access identity to configure the origin so that end users can\n only access objects in an Amazon S3 bucket through CloudFront.\n If you want end users to be able to access objects using either the\n CloudFront URL or the Amazon S3 URL, specify an empty\n OriginAccessIdentity element.\n To delete the origin access identity from an existing distribution, update\n the distribution configuration and include an empty\n OriginAccessIdentity element.\n To replace the origin access identity, update the distribution configuration\n and specify the new origin access identity.\n Use the format origin-access-identity/cloudfront/Id where Id is the value that \n CloudFront returned in the Id element when you created the origin access identity. \n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3 origin. If\n the origin is a custom origin, use the CustomOriginConfig element\n instead.\n " + }, + "CustomOriginConfig": { + "shape_name": "CustomOriginConfig", + "type": "structure", + "members": { + "HTTPPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTP port the custom origin listens on.\n ", + "required": true + }, + "HTTPSPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTPS port the custom origin listens on.\n ", + "required": true + }, + "OriginProtocolPolicy": { + "shape_name": "OriginProtocolPolicy", + "type": "string", + "enum": [ + "http-only", + "match-viewer" + ], + "documentation": "\n The origin protocol policy to apply to your origin.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about a custom origin. If the\n origin is an Amazon S3 bucket, use the S3OriginConfig element\n instead.\n " + } + }, + "documentation": "\n A complex type that describes the Amazon S3 bucket or the HTTP server\n (for example, a web server) from which CloudFront gets your files.You\n must create at least one origin.\n ", + "xmlname": "Origin" + }, + "min_length": 1, + "documentation": "\n A complex type that contains origins for this distribution.\n " + } + }, + "documentation": "\n A complex type that contains information about origins for this distribution.\n ", + "required": true + }, + "DefaultCacheBehavior": { + "shape_name": "DefaultCacheBehavior", + "type": "structure", + "members": { + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes the default cache behavior if you do not\n specify a CacheBehavior element or if files don't match any of the values\n of PathPattern in CacheBehavior elements.You must create exactly\n one default cache behavior.\n ", + "required": true + }, + "CacheBehaviors": { + "shape_name": "CacheBehaviors", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of cache behaviors for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CacheBehaviorList", + "type": "list", + "members": { + "shape_name": "CacheBehavior", + "type": "structure", + "members": { + "PathPattern": { + "shape_name": "string", + "type": "string", + "documentation": "\n The pattern (for example, images/*.jpg) that specifies which requests\n you want this cache behavior to apply to. When CloudFront receives an\n end-user request, the requested path is compared with path patterns in\n the order in which cache behaviors are listed in the distribution.\n The path pattern for the default cache behavior is * and cannot be\n changed. If the request for an object does not match the path pattern for\n any cache behaviors, CloudFront applies the behavior in the default cache\n behavior.\n ", + "required": true + }, + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes how CloudFront processes requests.\n You can create up to 10 cache behaviors.You must create at least as\n many cache behaviors (including the default cache behavior) as you have\n origins if you want CloudFront to distribute objects from all of the origins.\n Each cache behavior specifies the one origin from which you want\n CloudFront to get objects. If you have two origins and only the default\n cache behavior, the default cache behavior will cause CloudFront to get\n objects from one of the origins, but the other origin will never be used.\n If you don't want to specify any cache behaviors, include only an empty\n CacheBehaviors element. Don't include an empty CacheBehavior\n element, or CloudFront returns a MalformedXML error.\n To delete all cache behaviors in an existing distribution, update the\n distribution configuration and include only an empty CacheBehaviors\n element.\n To add, change, or remove one or more cache behaviors, update the\n distribution configuration and specify all of the cache behaviors that you\n want to include in the updated distribution.\n ", + "xmlname": "CacheBehavior" + }, + "documentation": "\n Optional: A complex type that contains cache behaviors for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CacheBehavior elements.\n ", + "required": true + }, + "CustomErrorResponses": { + "shape_name": "CustomErrorResponses", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of custom error responses for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CustomErrorResponseList", + "type": "list", + "members": { + "shape_name": "CustomErrorResponse", + "type": "structure", + "members": { + "ErrorCode": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The 4xx or 5xx HTTP status code that you want to customize. For a list of \n HTTP status codes that you can customize, see CloudFront documentation.\n ", + "required": true + }, + "ResponsePagePath": { + "shape_name": "string", + "type": "string", + "documentation": "\n The path of the custom error page (for example, /custom_404.html). The \n path is relative to the distribution and must begin with a slash (/). If\n the path includes any non-ASCII characters or unsafe characters as defined \n in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not \n return the custom error page to the viewer.\n " + }, + "ResponseCode": { + "shape_name": "string", + "type": "string", + "documentation": "\n The HTTP status code that you want CloudFront to return with the custom error \n page to the viewer. For a list of HTTP status codes that you can replace, see \n CloudFront Documentation.\n " + }, + "ErrorCachingMinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time you want HTTP error codes to stay in CloudFront caches \n before CloudFront queries your origin to see whether the object has been updated.\n You can specify a value from 0 to 31,536,000. \n " + } + }, + "documentation": "\n A complex type that describes how you'd prefer CloudFront to respond to\n requests that result in either a 4xx or 5xx response. You can control \n whether a custom error page should be displayed, what the desired response\n code should be for this error page and how long should the error response\n be cached by CloudFront.\n If you don't want to specify any custom error responses, include only an \n empty CustomErrorResponses element. \n To delete all custom error responses in an existing distribution, update the\n distribution configuration and include only an empty CustomErrorResponses\n element.\n To add, change, or remove one or more custom error responses, update the\n distribution configuration and specify all of the custom error responses that\n you want to include in the updated distribution.\n ", + "xmlname": "CustomErrorResponse" + }, + "documentation": "\n Optional: A complex type that contains custom error responses for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CustomErrorResponse elements.\n " + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "LoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a distribution or if\n you want to disable logging for an existing distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket, prefix and\n IncludeCookies, the values are automatically deleted.\n ", + "required": true + }, + "IncludeCookies": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to include cookies in access logs, specify true for\n IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless\n of how you configure the cache behaviors for this distribution.\n If you do not want to include cookies when you create a distribution or if you want to \n disable include cookies for an existing distribution, specify false for IncludeCookies.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the distribution is enabled to accept end user requests for content.\n ", + "required": true + }, + "ViewerCertificate": { + "shape_name": "ViewerCertificate", + "type": "structure", + "members": { + "IAMCertificateId": { + "shape_name": "string", + "type": "string", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using an\n alternate domain name in your object URLs (for example, https://example.com/logo.jpg), \n specify the IAM certificate identifier of the custom viewer certificate for this distribution. \n Specify either this value or CloudFrontDefaultCertificate. \n " + }, + "CloudFrontDefaultCertificate": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name \n of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg),\n set to true. Omit this value if you are setting an IAMCertificateId.\n " + }, + "SSLSupportMethod": { + "shape_name": "SSLSupportMethod", + "type": "string", + "enum": [ + "sni-only", + "vip" + ], + "documentation": "\n If you specify a value for IAMCertificateId, you must also specify how you want CloudFront \n to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses \n dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. \n However, you must request permission to use this feature, and you incur additional monthly \n charges. If you specify sni-only, CloudFront can only respond to HTTPS requests from \n viewers that support Server Name Indication (SNI). All modern browsers support SNI, \n but some browsers still in use don't support SNI. Do not specify a value for SSLSupportMethod if you \n specified true for CloudFrontDefaultCertificate.\n " + } + }, + "documentation": "\n A complex type that contains information about viewer certificates for this distribution.\n " + }, + "Restrictions": { + "shape_name": "Restrictions", + "type": "structure", + "members": { + "GeoRestriction": { + "shape_name": "GeoRestriction", + "type": "structure", + "members": { + "RestrictionType": { + "shape_name": "GeoRestrictionType", + "type": "string", + "enum": [ + "blacklist", + "whitelist", + "none" + ], + "documentation": "\n The method that you want to use to restrict distribution of your content by country:\n - none: No geo restriction is enabled, meaning access to content is not restricted\n by client geo location.\n - blacklist: The Location elements specify the countries in which you do not want \n CloudFront to distribute your content.\n - whitelist: The Location elements specify the countries in which you want CloudFront \n to distribute your content.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n When geo restriction is enabled, this is the number of countries in your whitelist \n or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "LocationList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Location" + }, + "documentation": "\n A complex type that contains a Location element for each country in which you want \n CloudFront either to distribute your content (whitelist) or not distribute your \n content (blacklist). \n\n The Location element is a two-letter, uppercase country code for a country that \n you want to include in your blacklist or whitelist. Include one Location element \n for each country.\n\n CloudFront and MaxMind both use ISO 3166 country codes. For the current list of \n countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International \n Organization for Standardization website. You can also refer to the country list \n in the CloudFront console, which includes both country names and codes.\n " + } + }, + "documentation": "\n A complex type that controls the countries in which your content is distributed. \n For more information about geo restriction, go to Customizing Error Responses in \n the Amazon CloudFront Developer Guide.\n\n CloudFront determines the location of your users using MaxMind GeoIP databases. \n For information about the accuracy of these databases, see How accurate are \n your GeoIP databases? on the MaxMind website.\n ", + "required": true + } + }, + "documentation": "\n A complex type that identifies ways in which you want to restrict distribution \n of your content.\n " + } + }, + "documentation": "\n The distribution's configuration information.\n ", + "required": true, + "payload": true + } + }, + "documentation": "\n The request to create a new distribution.\n " + }, + "output": { + "shape_name": "CreateDistributionResult", + "type": "structure", + "members": { + "Distribution": { + "shape_name": "Distribution", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the distribution. For example: EDFDVBD632BHDS5.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n This response element indicates the current status of the distribution.\n When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.\n ", + "required": true + }, + "LastModifiedTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the distribution was last modified.\n ", + "required": true + }, + "InProgressInvalidationBatches": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of invalidation batches currently in progress.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.\n ", + "required": true + }, + "ActiveTrustedSigners": { + "shape_name": "ActiveTrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Each active trusted signer.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of unique trusted signers included in all\n cache behaviors. For example, if three cache\n behaviors all list the same three AWS accounts, the\n value of Quantity for ActiveTrustedSigners will\n be 3.\n ", + "required": true + }, + "Items": { + "shape_name": "SignerList", + "type": "list", + "members": { + "shape_name": "Signer", + "type": "structure", + "members": { + "AwsAccountNumber": { + "shape_name": "string", + "type": "string", + "documentation": "\n Specifies an AWS account that can create signed URLs.\n Values: self, which indicates that the AWS account that was used to create\n the distribution can created signed URLs, or\n an AWS account number. Omit the dashes in the account number.\n " + }, + "KeyPairIds": { + "shape_name": "KeyPairIds", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of active CloudFront key pairs for\n AwsAccountNumber.\n ", + "required": true + }, + "Items": { + "shape_name": "KeyPairIdList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "KeyPairId" + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the AWS accounts that were\n included in the TrustedSigners complex type, as\n well as their active CloudFront key pair IDs, if any.\n ", + "xmlname": "Signer" + }, + "documentation": "\n A complex type that contains one Signer complex\n type for each unique trusted signer that is specified in\n the TrustedSigners complex type, including trusted\n signers in the default cache behavior and in all of the\n other cache behaviors.\n " + } + }, + "documentation": "\n CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs.\n The element lists the key pair IDs that CloudFront is aware of for each trusted signer.\n The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you).\n The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.\n ", + "required": true + }, + "DistributionConfig": { + "shape_name": "DistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.\n ", + "required": true + }, + "DefaultRootObject": { + "shape_name": "string", + "type": "string", + "documentation": "\n The object that you want CloudFront to return (for example, index.html)\n when an end user requests the root URL for your distribution\n (http://www.example.com) instead of an object in your distribution\n (http://www.example.com/index.html). Specifying a default root\n object avoids exposing the contents of your distribution.\n If you don't want to specify a default root object when you create a\n distribution, include an empty DefaultRootObject element.\n To delete the default root object from an existing distribution, update the\n distribution configuration and include an empty DefaultRootObject\n element. To replace the default root object, update the distribution configuration\n and specify the new object.\n ", + "required": true + }, + "Origins": { + "shape_name": "Origins", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of origins for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "OriginList", + "type": "list", + "members": { + "shape_name": "Origin", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique identifier for the origin. The value of Id must be unique within\n the distribution.\n You use the value of Id when you create a cache behavior. The Id\n identifies the origin that CloudFront routes a request to when the request\n matches the path pattern for that cache behavior.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n Amazon S3 origins: The DNS name of the Amazon S3 bucket from\n which you want CloudFront to get objects for this origin, for example,\n myawsbucket.s3.amazonaws.com.\n Custom origins: The DNS domain name for the HTTP server from which\n you want CloudFront to get objects for this origin, for example,\n www.example.com.\n ", + "required": true + }, + "S3OriginConfig": { + "shape_name": "S3OriginConfig", + "type": "structure", + "members": { + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n The CloudFront origin access identity to associate with the origin. Use\n an origin access identity to configure the origin so that end users can\n only access objects in an Amazon S3 bucket through CloudFront.\n If you want end users to be able to access objects using either the\n CloudFront URL or the Amazon S3 URL, specify an empty\n OriginAccessIdentity element.\n To delete the origin access identity from an existing distribution, update\n the distribution configuration and include an empty\n OriginAccessIdentity element.\n To replace the origin access identity, update the distribution configuration\n and specify the new origin access identity.\n Use the format origin-access-identity/cloudfront/Id where Id is the value that \n CloudFront returned in the Id element when you created the origin access identity. \n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3 origin. If\n the origin is a custom origin, use the CustomOriginConfig element\n instead.\n " + }, + "CustomOriginConfig": { + "shape_name": "CustomOriginConfig", + "type": "structure", + "members": { + "HTTPPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTP port the custom origin listens on.\n ", + "required": true + }, + "HTTPSPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTPS port the custom origin listens on.\n ", + "required": true + }, + "OriginProtocolPolicy": { + "shape_name": "OriginProtocolPolicy", + "type": "string", + "enum": [ + "http-only", + "match-viewer" + ], + "documentation": "\n The origin protocol policy to apply to your origin.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about a custom origin. If the\n origin is an Amazon S3 bucket, use the S3OriginConfig element\n instead.\n " + } + }, + "documentation": "\n A complex type that describes the Amazon S3 bucket or the HTTP server\n (for example, a web server) from which CloudFront gets your files.You\n must create at least one origin.\n ", + "xmlname": "Origin" + }, + "min_length": 1, + "documentation": "\n A complex type that contains origins for this distribution.\n " + } + }, + "documentation": "\n A complex type that contains information about origins for this distribution.\n ", + "required": true + }, + "DefaultCacheBehavior": { + "shape_name": "DefaultCacheBehavior", + "type": "structure", + "members": { + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes the default cache behavior if you do not\n specify a CacheBehavior element or if files don't match any of the values\n of PathPattern in CacheBehavior elements.You must create exactly\n one default cache behavior.\n ", + "required": true + }, + "CacheBehaviors": { + "shape_name": "CacheBehaviors", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of cache behaviors for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CacheBehaviorList", + "type": "list", + "members": { + "shape_name": "CacheBehavior", + "type": "structure", + "members": { + "PathPattern": { + "shape_name": "string", + "type": "string", + "documentation": "\n The pattern (for example, images/*.jpg) that specifies which requests\n you want this cache behavior to apply to. When CloudFront receives an\n end-user request, the requested path is compared with path patterns in\n the order in which cache behaviors are listed in the distribution.\n The path pattern for the default cache behavior is * and cannot be\n changed. If the request for an object does not match the path pattern for\n any cache behaviors, CloudFront applies the behavior in the default cache\n behavior.\n ", + "required": true + }, + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes how CloudFront processes requests.\n You can create up to 10 cache behaviors.You must create at least as\n many cache behaviors (including the default cache behavior) as you have\n origins if you want CloudFront to distribute objects from all of the origins.\n Each cache behavior specifies the one origin from which you want\n CloudFront to get objects. If you have two origins and only the default\n cache behavior, the default cache behavior will cause CloudFront to get\n objects from one of the origins, but the other origin will never be used.\n If you don't want to specify any cache behaviors, include only an empty\n CacheBehaviors element. Don't include an empty CacheBehavior\n element, or CloudFront returns a MalformedXML error.\n To delete all cache behaviors in an existing distribution, update the\n distribution configuration and include only an empty CacheBehaviors\n element.\n To add, change, or remove one or more cache behaviors, update the\n distribution configuration and specify all of the cache behaviors that you\n want to include in the updated distribution.\n ", + "xmlname": "CacheBehavior" + }, + "documentation": "\n Optional: A complex type that contains cache behaviors for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CacheBehavior elements.\n ", + "required": true + }, + "CustomErrorResponses": { + "shape_name": "CustomErrorResponses", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of custom error responses for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CustomErrorResponseList", + "type": "list", + "members": { + "shape_name": "CustomErrorResponse", + "type": "structure", + "members": { + "ErrorCode": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The 4xx or 5xx HTTP status code that you want to customize. For a list of \n HTTP status codes that you can customize, see CloudFront documentation.\n ", + "required": true + }, + "ResponsePagePath": { + "shape_name": "string", + "type": "string", + "documentation": "\n The path of the custom error page (for example, /custom_404.html). The \n path is relative to the distribution and must begin with a slash (/). If\n the path includes any non-ASCII characters or unsafe characters as defined \n in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not \n return the custom error page to the viewer.\n " + }, + "ResponseCode": { + "shape_name": "string", + "type": "string", + "documentation": "\n The HTTP status code that you want CloudFront to return with the custom error \n page to the viewer. For a list of HTTP status codes that you can replace, see \n CloudFront Documentation.\n " + }, + "ErrorCachingMinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time you want HTTP error codes to stay in CloudFront caches \n before CloudFront queries your origin to see whether the object has been updated.\n You can specify a value from 0 to 31,536,000. \n " + } + }, + "documentation": "\n A complex type that describes how you'd prefer CloudFront to respond to\n requests that result in either a 4xx or 5xx response. You can control \n whether a custom error page should be displayed, what the desired response\n code should be for this error page and how long should the error response\n be cached by CloudFront.\n If you don't want to specify any custom error responses, include only an \n empty CustomErrorResponses element. \n To delete all custom error responses in an existing distribution, update the\n distribution configuration and include only an empty CustomErrorResponses\n element.\n To add, change, or remove one or more custom error responses, update the\n distribution configuration and specify all of the custom error responses that\n you want to include in the updated distribution.\n ", + "xmlname": "CustomErrorResponse" + }, + "documentation": "\n Optional: A complex type that contains custom error responses for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CustomErrorResponse elements.\n " + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "LoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a distribution or if\n you want to disable logging for an existing distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket, prefix and\n IncludeCookies, the values are automatically deleted.\n ", + "required": true + }, + "IncludeCookies": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to include cookies in access logs, specify true for\n IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless\n of how you configure the cache behaviors for this distribution.\n If you do not want to include cookies when you create a distribution or if you want to \n disable include cookies for an existing distribution, specify false for IncludeCookies.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the distribution is enabled to accept end user requests for content.\n ", + "required": true + }, + "ViewerCertificate": { + "shape_name": "ViewerCertificate", + "type": "structure", + "members": { + "IAMCertificateId": { + "shape_name": "string", + "type": "string", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using an\n alternate domain name in your object URLs (for example, https://example.com/logo.jpg), \n specify the IAM certificate identifier of the custom viewer certificate for this distribution. \n Specify either this value or CloudFrontDefaultCertificate. \n " + }, + "CloudFrontDefaultCertificate": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name \n of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg),\n set to true. Omit this value if you are setting an IAMCertificateId.\n " + }, + "SSLSupportMethod": { + "shape_name": "SSLSupportMethod", + "type": "string", + "enum": [ + "sni-only", + "vip" + ], + "documentation": "\n If you specify a value for IAMCertificateId, you must also specify how you want CloudFront \n to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses \n dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. \n However, you must request permission to use this feature, and you incur additional monthly \n charges. If you specify sni-only, CloudFront can only respond to HTTPS requests from \n viewers that support Server Name Indication (SNI). All modern browsers support SNI, \n but some browsers still in use don't support SNI. Do not specify a value for SSLSupportMethod if you \n specified true for CloudFrontDefaultCertificate.\n " + } + }, + "documentation": "\n A complex type that contains information about viewer certificates for this distribution.\n " + }, + "Restrictions": { + "shape_name": "Restrictions", + "type": "structure", + "members": { + "GeoRestriction": { + "shape_name": "GeoRestriction", + "type": "structure", + "members": { + "RestrictionType": { + "shape_name": "GeoRestrictionType", + "type": "string", + "enum": [ + "blacklist", + "whitelist", + "none" + ], + "documentation": "\n The method that you want to use to restrict distribution of your content by country:\n - none: No geo restriction is enabled, meaning access to content is not restricted\n by client geo location.\n - blacklist: The Location elements specify the countries in which you do not want \n CloudFront to distribute your content.\n - whitelist: The Location elements specify the countries in which you want CloudFront \n to distribute your content.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n When geo restriction is enabled, this is the number of countries in your whitelist \n or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "LocationList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Location" + }, + "documentation": "\n A complex type that contains a Location element for each country in which you want \n CloudFront either to distribute your content (whitelist) or not distribute your \n content (blacklist). \n\n The Location element is a two-letter, uppercase country code for a country that \n you want to include in your blacklist or whitelist. Include one Location element \n for each country.\n\n CloudFront and MaxMind both use ISO 3166 country codes. For the current list of \n countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International \n Organization for Standardization website. You can also refer to the country list \n in the CloudFront console, which includes both country names and codes.\n " + } + }, + "documentation": "\n A complex type that controls the countries in which your content is distributed. \n For more information about geo restriction, go to Customizing Error Responses in \n the Amazon CloudFront Developer Guide.\n\n CloudFront determines the location of your users using MaxMind GeoIP databases. \n For information about the accuracy of these databases, see How accurate are \n your GeoIP databases? on the MaxMind website.\n ", + "required": true + } + }, + "documentation": "\n A complex type that identifies ways in which you want to restrict distribution \n of your content.\n " + } + }, + "documentation": "\n The current configuration information for the distribution.\n ", + "required": true + } + }, + "documentation": "\n The distribution's information.\n ", + "payload": true + }, + "Location": { + "shape_name": "string", + "type": "string", + "documentation": "\n The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.\n ", + "location": "header", + "location_name": "Location" + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the distribution created.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "CNAMEAlreadyExists", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "DistributionAlreadyExists", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The caller reference you attempted to create the distribution with is associated with another distribution.\n " + }, + { + "shape_name": "InvalidOrigin", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.\n " + }, + { + "shape_name": "InvalidOriginAccessIdentity", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The origin access identity is not valid or doesn't exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "TooManyTrustedSigners", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains more trusted signers than are allowed per distribution.\n " + }, + { + "shape_name": "TrustedSignerDoesNotExist", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n One or more of your trusted signers do not exist.\n " + }, + { + "shape_name": "InvalidViewerCertificate", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "MissingBody", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires a body. Ensure that the body is present and the Content-Type header is set.\n " + }, + { + "shape_name": "TooManyDistributionCNAMEs", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains more CNAMEs than are allowed per distribution.\n " + }, + { + "shape_name": "TooManyDistributions", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Processing your request would cause you to exceed the maximum number of distributions allowed.\n " + }, + { + "shape_name": "InvalidDefaultRootObject", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The default root object file name is too big or contains an invalid character.\n " + }, + { + "shape_name": "InvalidRelativePath", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The relative path is too big, is not URL-encoded, or\n does not begin with a slash (/).\n " + }, + { + "shape_name": "InvalidErrorCode", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidResponseCode", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + }, + { + "shape_name": "InvalidRequiredProtocol", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.\n " + }, + { + "shape_name": "NoSuchOrigin", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n No origin exists with the specified Origin Id.\n " + }, + { + "shape_name": "TooManyOrigins", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n You cannot create anymore origins for the distribution. \n " + }, + { + "shape_name": "TooManyCacheBehaviors", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n You cannot create anymore cache behaviors for the distribution.\n " + }, + { + "shape_name": "TooManyCookieNamesInWhiteList", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains more cookie names in the whitelist than are allowed per cache behavior.\n " + }, + { + "shape_name": "InvalidForwardCookies", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains forward cookies option which doesn't match with the expectation for the whitelisted\n list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names\n is missing when expected.\n " + }, + { + "shape_name": "TooManyHeadersInForwardedValues", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidHeadersForS3Origin", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InconsistentQuantities", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The value of Quantity and the size of Items do not match.\n " + }, + { + "shape_name": "TooManyCertificates", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n You cannot create anymore custom ssl certificates.\n " + }, + { + "shape_name": "InvalidLocationCode", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidGeoRestrictionParameter", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + } + ], + "documentation": "\n Create a new distribution.\n " + }, + "CreateInvalidation": { + "name": "CreateInvalidation2014_05_31", + "http": { + "uri": "/2014-05-31/distribution/{DistributionId}/invalidation", + "method": "POST", + "response_code": 201 + }, + "input": { + "shape_name": "CreateInvalidationRequest", + "type": "structure", + "members": { + "DistributionId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The distribution's id.\n ", + "required": true, + "location": "uri" + }, + "InvalidationBatch": { + "shape_name": "InvalidationBatch", + "type": "structure", + "members": { + "Paths": { + "shape_name": "Paths", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of objects that you want to invalidate.\n ", + "required": true + }, + "Items": { + "shape_name": "PathList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Path" + }, + "documentation": "\n A complex type that contains a list of the objects that you want to\n invalidate.\n " + } + }, + "documentation": "\n The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags.\n If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.\n ", + "required": true + }, + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique name that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the Path object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request,\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request,\n CloudFront returns an InvalidationBatchAlreadyExists error.\n ", + "required": true + } + }, + "documentation": "\n The batch information for the invalidation.\n ", + "required": true, + "payload": true + } + }, + "documentation": "\n The request to create an invalidation.\n " + }, + "output": { + "shape_name": "CreateInvalidationResult", + "type": "structure", + "members": { + "Location": { + "shape_name": "string", + "type": "string", + "documentation": "\n The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.\n ", + "location": "header", + "location_name": "Location" + }, + "Invalidation": { + "shape_name": "Invalidation", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the invalidation request. For example: IDFDVBD632BHDS5.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n The status of the invalidation request. When the invalidation batch is finished, the status is Completed.\n ", + "required": true + }, + "CreateTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the invalidation request was first made.\n ", + "required": true + }, + "InvalidationBatch": { + "shape_name": "InvalidationBatch", + "type": "structure", + "members": { + "Paths": { + "shape_name": "Paths", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of objects that you want to invalidate.\n ", + "required": true + }, + "Items": { + "shape_name": "PathList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Path" + }, + "documentation": "\n A complex type that contains a list of the objects that you want to\n invalidate.\n " + } + }, + "documentation": "\n The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags.\n If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.\n ", + "required": true + }, + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique name that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the Path object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request,\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request,\n CloudFront returns an InvalidationBatchAlreadyExists error.\n ", + "required": true + } + }, + "documentation": "\n The current invalidation information for the batch request.\n ", + "required": true + } + }, + "documentation": "\n The invalidation's information.\n ", + "payload": true + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "MissingBody", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires a body. Ensure that the body is present and the Content-Type header is set.\n " + }, + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + }, + { + "shape_name": "NoSuchDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified distribution does not exist.\n " + }, + { + "shape_name": "BatchTooLarge", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "TooManyInvalidationsInProgress", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.\n " + }, + { + "shape_name": "InconsistentQuantities", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The value of Quantity and the size of Items do not match.\n " + } + ], + "documentation": "\n Create a new invalidation.\n " + }, + "CreateStreamingDistribution": { + "name": "CreateStreamingDistribution2014_05_31", + "http": { + "uri": "/2014-05-31/streaming-distribution", + "method": "POST", + "response_code": 201 + }, + "input": { + "shape_name": "CreateStreamingDistributionRequest", + "type": "structure", + "members": { + "StreamingDistributionConfig": { + "shape_name": "StreamingDistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "S3Origin": { + "shape_name": "S3Origin", + "type": "structure", + "members": { + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The DNS name of the S3 origin.\n ", + "required": true + }, + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n Your S3 origin's origin access identity.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3\n bucket from which you want CloudFront to get your media files for\n distribution.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the streaming distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "StreamingLoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a streaming distribution or if\n you want to disable logging for an existing streaming distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket and\n Prefix, the values are automatically deleted.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this streaming distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the streaming distribution.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this streaming distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the streaming distribution is enabled to accept end user requests for content.\n ", + "required": true + } + }, + "documentation": "\n The streaming distribution's configuration information.\n ", + "required": true, + "payload": true + } + }, + "documentation": "\n The request to create a new streaming distribution.\n " + }, + "output": { + "shape_name": "CreateStreamingDistributionResult", + "type": "structure", + "members": { + "StreamingDistribution": { + "shape_name": "StreamingDistribution", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.\n ", + "required": true + }, + "LastModifiedTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the distribution was last modified.\n " + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.\n ", + "required": true + }, + "ActiveTrustedSigners": { + "shape_name": "ActiveTrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Each active trusted signer.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of unique trusted signers included in all\n cache behaviors. For example, if three cache\n behaviors all list the same three AWS accounts, the\n value of Quantity for ActiveTrustedSigners will\n be 3.\n ", + "required": true + }, + "Items": { + "shape_name": "SignerList", + "type": "list", + "members": { + "shape_name": "Signer", + "type": "structure", + "members": { + "AwsAccountNumber": { + "shape_name": "string", + "type": "string", + "documentation": "\n Specifies an AWS account that can create signed URLs.\n Values: self, which indicates that the AWS account that was used to create\n the distribution can created signed URLs, or\n an AWS account number. Omit the dashes in the account number.\n " + }, + "KeyPairIds": { + "shape_name": "KeyPairIds", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of active CloudFront key pairs for\n AwsAccountNumber.\n ", + "required": true + }, + "Items": { + "shape_name": "KeyPairIdList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "KeyPairId" + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the AWS accounts that were\n included in the TrustedSigners complex type, as\n well as their active CloudFront key pair IDs, if any.\n ", + "xmlname": "Signer" + }, + "documentation": "\n A complex type that contains one Signer complex\n type for each unique trusted signer that is specified in\n the TrustedSigners complex type, including trusted\n signers in the default cache behavior and in all of the\n other cache behaviors.\n " + } + }, + "documentation": "\n CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs.\n The element lists the key pair IDs that CloudFront is aware of for each trusted signer.\n The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you).\n The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.\n ", + "required": true + }, + "StreamingDistributionConfig": { + "shape_name": "StreamingDistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "S3Origin": { + "shape_name": "S3Origin", + "type": "structure", + "members": { + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The DNS name of the S3 origin.\n ", + "required": true + }, + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n Your S3 origin's origin access identity.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3\n bucket from which you want CloudFront to get your media files for\n distribution.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the streaming distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "StreamingLoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a streaming distribution or if\n you want to disable logging for an existing streaming distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket and\n Prefix, the values are automatically deleted.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this streaming distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the streaming distribution.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this streaming distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the streaming distribution is enabled to accept end user requests for content.\n ", + "required": true + } + }, + "documentation": "\n The current configuration information for the streaming distribution.\n ", + "required": true + } + }, + "documentation": "\n The streaming distribution's information.\n ", + "payload": true + }, + "Location": { + "shape_name": "string", + "type": "string", + "documentation": "\n The fully qualified URI of the new streaming distribution resource just created.\n For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.\n ", + "location": "header", + "location_name": "Location" + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the streaming distribution created.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "CNAMEAlreadyExists", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "StreamingDistributionAlreadyExists", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidOrigin", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.\n " + }, + { + "shape_name": "InvalidOriginAccessIdentity", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The origin access identity is not valid or doesn't exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "TooManyTrustedSigners", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains more trusted signers than are allowed per distribution.\n " + }, + { + "shape_name": "TrustedSignerDoesNotExist", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n One or more of your trusted signers do not exist.\n " + }, + { + "shape_name": "MissingBody", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires a body. Ensure that the body is present and the Content-Type header is set.\n " + }, + { + "shape_name": "TooManyStreamingDistributionCNAMEs", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "TooManyStreamingDistributions", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Processing your request would cause you to exceed the maximum number of streaming distributions allowed.\n " + }, + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + }, + { + "shape_name": "InconsistentQuantities", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The value of Quantity and the size of Items do not match.\n " + } + ], + "documentation": "\n Create a new streaming distribution.\n " + }, + "DeleteCloudFrontOriginAccessIdentity": { + "name": "DeleteCloudFrontOriginAccessIdentity2014_05_31", + "http": { + "uri": "/2014-05-31/origin-access-identity/cloudfront/{Id}", + "method": "DELETE", + "response_code": 204 + }, + "input": { + "shape_name": "DeleteCloudFrontOriginAccessIdentityRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The origin access identity's id.\n ", + "location": "uri", + "required": true + }, + "IfMatch": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "If-Match" + } + }, + "documentation": "\n The request to delete a origin access identity.\n " + }, + "output": null, + "errors": [ + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "InvalidIfMatchVersion", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The If-Match version is missing or not valid for the distribution.\n " + }, + { + "shape_name": "NoSuchCloudFrontOriginAccessIdentity", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified origin access identity does not exist.\n " + }, + { + "shape_name": "PreconditionFailed", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The precondition given in one or more of the request-header fields evaluated to false.\n " + }, + { + "shape_name": "CloudFrontOriginAccessIdentityInUse", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + } + ], + "documentation": "\n Delete an origin access identity.\n " + }, + "DeleteDistribution": { + "name": "DeleteDistribution2014_05_31", + "http": { + "uri": "/2014-05-31/distribution/{Id}", + "method": "DELETE", + "response_code": 204 + }, + "input": { + "shape_name": "DeleteDistributionRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The distribution id.\n ", + "location": "uri", + "required": true + }, + "IfMatch": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "If-Match" + } + }, + "documentation": "\n The request to delete a distribution.\n " + }, + "output": null, + "errors": [ + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "DistributionNotDisabled", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidIfMatchVersion", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The If-Match version is missing or not valid for the distribution.\n " + }, + { + "shape_name": "NoSuchDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified distribution does not exist.\n " + }, + { + "shape_name": "PreconditionFailed", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The precondition given in one or more of the request-header fields evaluated to false.\n " + } + ], + "documentation": "\n Delete a distribution.\n " + }, + "DeleteStreamingDistribution": { + "name": "DeleteStreamingDistribution2014_05_31", + "http": { + "uri": "/2014-05-31/streaming-distribution/{Id}", + "method": "DELETE", + "response_code": 204 + }, + "input": { + "shape_name": "DeleteStreamingDistributionRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The distribution id.\n ", + "location": "uri", + "required": true + }, + "IfMatch": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "If-Match" + } + }, + "documentation": "\n The request to delete a streaming distribution.\n " + }, + "output": null, + "errors": [ + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "StreamingDistributionNotDisabled", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidIfMatchVersion", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The If-Match version is missing or not valid for the distribution.\n " + }, + { + "shape_name": "NoSuchStreamingDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified streaming distribution does not exist.\n " + }, + { + "shape_name": "PreconditionFailed", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The precondition given in one or more of the request-header fields evaluated to false.\n " + } + ], + "documentation": "\n Delete a streaming distribution.\n " + }, + "GetCloudFrontOriginAccessIdentity": { + "name": "GetCloudFrontOriginAccessIdentity2014_05_31", + "http": { + "uri": "/2014-05-31/origin-access-identity/cloudfront/{Id}", + "method": "GET" + }, + "input": { + "shape_name": "GetCloudFrontOriginAccessIdentityRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identity's id.\n ", + "location": "uri", + "required": true + } + }, + "documentation": "\n The request to get an origin access identity's information.\n " + }, + "output": { + "shape_name": "GetCloudFrontOriginAccessIdentityResult", + "type": "structure", + "members": { + "CloudFrontOriginAccessIdentity": { + "shape_name": "CloudFrontOriginAccessIdentity", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The ID for the origin access identity. For example: E74FTE3AJFJ256A.\n ", + "required": true + }, + "S3CanonicalUserId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.\n ", + "required": true + }, + "CloudFrontOriginAccessIdentityConfig": { + "shape_name": "CloudFrontOriginAccessIdentityConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.\n If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request,\n CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the origin access identity.\n ", + "required": true + } + }, + "documentation": "\n The current configuration information for the identity.\n " + } + }, + "documentation": "\n The origin access identity's information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "NoSuchCloudFrontOriginAccessIdentity", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified origin access identity does not exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + } + ], + "documentation": "\n Get the information about an origin access identity.\n " + }, + "GetCloudFrontOriginAccessIdentityConfig": { + "name": "GetCloudFrontOriginAccessIdentityConfig2014_05_31", + "http": { + "uri": "/2014-05-31/origin-access-identity/cloudfront/{Id}/config", + "method": "GET" + }, + "input": { + "shape_name": "GetCloudFrontOriginAccessIdentityConfigRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identity's id.\n ", + "location": "uri", + "required": true + } + }, + "documentation": "\n The request to get an origin access identity's configuration.\n " + }, + "output": { + "shape_name": "GetCloudFrontOriginAccessIdentityConfigResult", + "type": "structure", + "members": { + "CloudFrontOriginAccessIdentityConfig": { + "shape_name": "CloudFrontOriginAccessIdentityConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.\n If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request,\n CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the origin access identity.\n ", + "required": true + } + }, + "documentation": "\n The origin access identity's configuration information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "NoSuchCloudFrontOriginAccessIdentity", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified origin access identity does not exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + } + ], + "documentation": "\n Get the configuration information about an origin access identity.\n " + }, + "GetDistribution": { + "name": "GetDistribution2014_05_31", + "http": { + "uri": "/2014-05-31/distribution/{Id}", + "method": "GET" + }, + "input": { + "shape_name": "GetDistributionRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The distribution's id.\n ", + "location": "uri", + "required": true + } + }, + "documentation": "\n The request to get a distribution's information.\n " + }, + "output": { + "shape_name": "GetDistributionResult", + "type": "structure", + "members": { + "Distribution": { + "shape_name": "Distribution", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the distribution. For example: EDFDVBD632BHDS5.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n This response element indicates the current status of the distribution.\n When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.\n ", + "required": true + }, + "LastModifiedTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the distribution was last modified.\n ", + "required": true + }, + "InProgressInvalidationBatches": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of invalidation batches currently in progress.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.\n ", + "required": true + }, + "ActiveTrustedSigners": { + "shape_name": "ActiveTrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Each active trusted signer.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of unique trusted signers included in all\n cache behaviors. For example, if three cache\n behaviors all list the same three AWS accounts, the\n value of Quantity for ActiveTrustedSigners will\n be 3.\n ", + "required": true + }, + "Items": { + "shape_name": "SignerList", + "type": "list", + "members": { + "shape_name": "Signer", + "type": "structure", + "members": { + "AwsAccountNumber": { + "shape_name": "string", + "type": "string", + "documentation": "\n Specifies an AWS account that can create signed URLs.\n Values: self, which indicates that the AWS account that was used to create\n the distribution can created signed URLs, or\n an AWS account number. Omit the dashes in the account number.\n " + }, + "KeyPairIds": { + "shape_name": "KeyPairIds", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of active CloudFront key pairs for\n AwsAccountNumber.\n ", + "required": true + }, + "Items": { + "shape_name": "KeyPairIdList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "KeyPairId" + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the AWS accounts that were\n included in the TrustedSigners complex type, as\n well as their active CloudFront key pair IDs, if any.\n ", + "xmlname": "Signer" + }, + "documentation": "\n A complex type that contains one Signer complex\n type for each unique trusted signer that is specified in\n the TrustedSigners complex type, including trusted\n signers in the default cache behavior and in all of the\n other cache behaviors.\n " + } + }, + "documentation": "\n CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs.\n The element lists the key pair IDs that CloudFront is aware of for each trusted signer.\n The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you).\n The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.\n ", + "required": true + }, + "DistributionConfig": { + "shape_name": "DistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.\n ", + "required": true + }, + "DefaultRootObject": { + "shape_name": "string", + "type": "string", + "documentation": "\n The object that you want CloudFront to return (for example, index.html)\n when an end user requests the root URL for your distribution\n (http://www.example.com) instead of an object in your distribution\n (http://www.example.com/index.html). Specifying a default root\n object avoids exposing the contents of your distribution.\n If you don't want to specify a default root object when you create a\n distribution, include an empty DefaultRootObject element.\n To delete the default root object from an existing distribution, update the\n distribution configuration and include an empty DefaultRootObject\n element. To replace the default root object, update the distribution configuration\n and specify the new object.\n ", + "required": true + }, + "Origins": { + "shape_name": "Origins", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of origins for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "OriginList", + "type": "list", + "members": { + "shape_name": "Origin", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique identifier for the origin. The value of Id must be unique within\n the distribution.\n You use the value of Id when you create a cache behavior. The Id\n identifies the origin that CloudFront routes a request to when the request\n matches the path pattern for that cache behavior.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n Amazon S3 origins: The DNS name of the Amazon S3 bucket from\n which you want CloudFront to get objects for this origin, for example,\n myawsbucket.s3.amazonaws.com.\n Custom origins: The DNS domain name for the HTTP server from which\n you want CloudFront to get objects for this origin, for example,\n www.example.com.\n ", + "required": true + }, + "S3OriginConfig": { + "shape_name": "S3OriginConfig", + "type": "structure", + "members": { + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n The CloudFront origin access identity to associate with the origin. Use\n an origin access identity to configure the origin so that end users can\n only access objects in an Amazon S3 bucket through CloudFront.\n If you want end users to be able to access objects using either the\n CloudFront URL or the Amazon S3 URL, specify an empty\n OriginAccessIdentity element.\n To delete the origin access identity from an existing distribution, update\n the distribution configuration and include an empty\n OriginAccessIdentity element.\n To replace the origin access identity, update the distribution configuration\n and specify the new origin access identity.\n Use the format origin-access-identity/cloudfront/Id where Id is the value that \n CloudFront returned in the Id element when you created the origin access identity. \n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3 origin. If\n the origin is a custom origin, use the CustomOriginConfig element\n instead.\n " + }, + "CustomOriginConfig": { + "shape_name": "CustomOriginConfig", + "type": "structure", + "members": { + "HTTPPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTP port the custom origin listens on.\n ", + "required": true + }, + "HTTPSPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTPS port the custom origin listens on.\n ", + "required": true + }, + "OriginProtocolPolicy": { + "shape_name": "OriginProtocolPolicy", + "type": "string", + "enum": [ + "http-only", + "match-viewer" + ], + "documentation": "\n The origin protocol policy to apply to your origin.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about a custom origin. If the\n origin is an Amazon S3 bucket, use the S3OriginConfig element\n instead.\n " + } + }, + "documentation": "\n A complex type that describes the Amazon S3 bucket or the HTTP server\n (for example, a web server) from which CloudFront gets your files.You\n must create at least one origin.\n ", + "xmlname": "Origin" + }, + "min_length": 1, + "documentation": "\n A complex type that contains origins for this distribution.\n " + } + }, + "documentation": "\n A complex type that contains information about origins for this distribution.\n ", + "required": true + }, + "DefaultCacheBehavior": { + "shape_name": "DefaultCacheBehavior", + "type": "structure", + "members": { + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes the default cache behavior if you do not\n specify a CacheBehavior element or if files don't match any of the values\n of PathPattern in CacheBehavior elements.You must create exactly\n one default cache behavior.\n ", + "required": true + }, + "CacheBehaviors": { + "shape_name": "CacheBehaviors", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of cache behaviors for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CacheBehaviorList", + "type": "list", + "members": { + "shape_name": "CacheBehavior", + "type": "structure", + "members": { + "PathPattern": { + "shape_name": "string", + "type": "string", + "documentation": "\n The pattern (for example, images/*.jpg) that specifies which requests\n you want this cache behavior to apply to. When CloudFront receives an\n end-user request, the requested path is compared with path patterns in\n the order in which cache behaviors are listed in the distribution.\n The path pattern for the default cache behavior is * and cannot be\n changed. If the request for an object does not match the path pattern for\n any cache behaviors, CloudFront applies the behavior in the default cache\n behavior.\n ", + "required": true + }, + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes how CloudFront processes requests.\n You can create up to 10 cache behaviors.You must create at least as\n many cache behaviors (including the default cache behavior) as you have\n origins if you want CloudFront to distribute objects from all of the origins.\n Each cache behavior specifies the one origin from which you want\n CloudFront to get objects. If you have two origins and only the default\n cache behavior, the default cache behavior will cause CloudFront to get\n objects from one of the origins, but the other origin will never be used.\n If you don't want to specify any cache behaviors, include only an empty\n CacheBehaviors element. Don't include an empty CacheBehavior\n element, or CloudFront returns a MalformedXML error.\n To delete all cache behaviors in an existing distribution, update the\n distribution configuration and include only an empty CacheBehaviors\n element.\n To add, change, or remove one or more cache behaviors, update the\n distribution configuration and specify all of the cache behaviors that you\n want to include in the updated distribution.\n ", + "xmlname": "CacheBehavior" + }, + "documentation": "\n Optional: A complex type that contains cache behaviors for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CacheBehavior elements.\n ", + "required": true + }, + "CustomErrorResponses": { + "shape_name": "CustomErrorResponses", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of custom error responses for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CustomErrorResponseList", + "type": "list", + "members": { + "shape_name": "CustomErrorResponse", + "type": "structure", + "members": { + "ErrorCode": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The 4xx or 5xx HTTP status code that you want to customize. For a list of \n HTTP status codes that you can customize, see CloudFront documentation.\n ", + "required": true + }, + "ResponsePagePath": { + "shape_name": "string", + "type": "string", + "documentation": "\n The path of the custom error page (for example, /custom_404.html). The \n path is relative to the distribution and must begin with a slash (/). If\n the path includes any non-ASCII characters or unsafe characters as defined \n in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not \n return the custom error page to the viewer.\n " + }, + "ResponseCode": { + "shape_name": "string", + "type": "string", + "documentation": "\n The HTTP status code that you want CloudFront to return with the custom error \n page to the viewer. For a list of HTTP status codes that you can replace, see \n CloudFront Documentation.\n " + }, + "ErrorCachingMinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time you want HTTP error codes to stay in CloudFront caches \n before CloudFront queries your origin to see whether the object has been updated.\n You can specify a value from 0 to 31,536,000. \n " + } + }, + "documentation": "\n A complex type that describes how you'd prefer CloudFront to respond to\n requests that result in either a 4xx or 5xx response. You can control \n whether a custom error page should be displayed, what the desired response\n code should be for this error page and how long should the error response\n be cached by CloudFront.\n If you don't want to specify any custom error responses, include only an \n empty CustomErrorResponses element. \n To delete all custom error responses in an existing distribution, update the\n distribution configuration and include only an empty CustomErrorResponses\n element.\n To add, change, or remove one or more custom error responses, update the\n distribution configuration and specify all of the custom error responses that\n you want to include in the updated distribution.\n ", + "xmlname": "CustomErrorResponse" + }, + "documentation": "\n Optional: A complex type that contains custom error responses for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CustomErrorResponse elements.\n " + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "LoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a distribution or if\n you want to disable logging for an existing distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket, prefix and\n IncludeCookies, the values are automatically deleted.\n ", + "required": true + }, + "IncludeCookies": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to include cookies in access logs, specify true for\n IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless\n of how you configure the cache behaviors for this distribution.\n If you do not want to include cookies when you create a distribution or if you want to \n disable include cookies for an existing distribution, specify false for IncludeCookies.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the distribution is enabled to accept end user requests for content.\n ", + "required": true + }, + "ViewerCertificate": { + "shape_name": "ViewerCertificate", + "type": "structure", + "members": { + "IAMCertificateId": { + "shape_name": "string", + "type": "string", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using an\n alternate domain name in your object URLs (for example, https://example.com/logo.jpg), \n specify the IAM certificate identifier of the custom viewer certificate for this distribution. \n Specify either this value or CloudFrontDefaultCertificate. \n " + }, + "CloudFrontDefaultCertificate": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name \n of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg),\n set to true. Omit this value if you are setting an IAMCertificateId.\n " + }, + "SSLSupportMethod": { + "shape_name": "SSLSupportMethod", + "type": "string", + "enum": [ + "sni-only", + "vip" + ], + "documentation": "\n If you specify a value for IAMCertificateId, you must also specify how you want CloudFront \n to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses \n dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. \n However, you must request permission to use this feature, and you incur additional monthly \n charges. If you specify sni-only, CloudFront can only respond to HTTPS requests from \n viewers that support Server Name Indication (SNI). All modern browsers support SNI, \n but some browsers still in use don't support SNI. Do not specify a value for SSLSupportMethod if you \n specified true for CloudFrontDefaultCertificate.\n " + } + }, + "documentation": "\n A complex type that contains information about viewer certificates for this distribution.\n " + }, + "Restrictions": { + "shape_name": "Restrictions", + "type": "structure", + "members": { + "GeoRestriction": { + "shape_name": "GeoRestriction", + "type": "structure", + "members": { + "RestrictionType": { + "shape_name": "GeoRestrictionType", + "type": "string", + "enum": [ + "blacklist", + "whitelist", + "none" + ], + "documentation": "\n The method that you want to use to restrict distribution of your content by country:\n - none: No geo restriction is enabled, meaning access to content is not restricted\n by client geo location.\n - blacklist: The Location elements specify the countries in which you do not want \n CloudFront to distribute your content.\n - whitelist: The Location elements specify the countries in which you want CloudFront \n to distribute your content.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n When geo restriction is enabled, this is the number of countries in your whitelist \n or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "LocationList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Location" + }, + "documentation": "\n A complex type that contains a Location element for each country in which you want \n CloudFront either to distribute your content (whitelist) or not distribute your \n content (blacklist). \n\n The Location element is a two-letter, uppercase country code for a country that \n you want to include in your blacklist or whitelist. Include one Location element \n for each country.\n\n CloudFront and MaxMind both use ISO 3166 country codes. For the current list of \n countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International \n Organization for Standardization website. You can also refer to the country list \n in the CloudFront console, which includes both country names and codes.\n " + } + }, + "documentation": "\n A complex type that controls the countries in which your content is distributed. \n For more information about geo restriction, go to Customizing Error Responses in \n the Amazon CloudFront Developer Guide.\n\n CloudFront determines the location of your users using MaxMind GeoIP databases. \n For information about the accuracy of these databases, see How accurate are \n your GeoIP databases? on the MaxMind website.\n ", + "required": true + } + }, + "documentation": "\n A complex type that identifies ways in which you want to restrict distribution \n of your content.\n " + } + }, + "documentation": "\n The current configuration information for the distribution.\n ", + "required": true + } + }, + "documentation": "\n The distribution's information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the distribution's information. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "NoSuchDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified distribution does not exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + } + ], + "documentation": "\n Get the information about a distribution.\n " + }, + "GetDistributionConfig": { + "name": "GetDistributionConfig2014_05_31", + "http": { + "uri": "/2014-05-31/distribution/{Id}/config", + "method": "GET" + }, + "input": { + "shape_name": "GetDistributionConfigRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The distribution's id.\n ", + "location": "uri", + "required": true + } + }, + "documentation": "\n The request to get a distribution configuration.\n " + }, + "output": { + "shape_name": "GetDistributionConfigResult", + "type": "structure", + "members": { + "DistributionConfig": { + "shape_name": "DistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.\n ", + "required": true + }, + "DefaultRootObject": { + "shape_name": "string", + "type": "string", + "documentation": "\n The object that you want CloudFront to return (for example, index.html)\n when an end user requests the root URL for your distribution\n (http://www.example.com) instead of an object in your distribution\n (http://www.example.com/index.html). Specifying a default root\n object avoids exposing the contents of your distribution.\n If you don't want to specify a default root object when you create a\n distribution, include an empty DefaultRootObject element.\n To delete the default root object from an existing distribution, update the\n distribution configuration and include an empty DefaultRootObject\n element. To replace the default root object, update the distribution configuration\n and specify the new object.\n ", + "required": true + }, + "Origins": { + "shape_name": "Origins", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of origins for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "OriginList", + "type": "list", + "members": { + "shape_name": "Origin", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique identifier for the origin. The value of Id must be unique within\n the distribution.\n You use the value of Id when you create a cache behavior. The Id\n identifies the origin that CloudFront routes a request to when the request\n matches the path pattern for that cache behavior.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n Amazon S3 origins: The DNS name of the Amazon S3 bucket from\n which you want CloudFront to get objects for this origin, for example,\n myawsbucket.s3.amazonaws.com.\n Custom origins: The DNS domain name for the HTTP server from which\n you want CloudFront to get objects for this origin, for example,\n www.example.com.\n ", + "required": true + }, + "S3OriginConfig": { + "shape_name": "S3OriginConfig", + "type": "structure", + "members": { + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n The CloudFront origin access identity to associate with the origin. Use\n an origin access identity to configure the origin so that end users can\n only access objects in an Amazon S3 bucket through CloudFront.\n If you want end users to be able to access objects using either the\n CloudFront URL or the Amazon S3 URL, specify an empty\n OriginAccessIdentity element.\n To delete the origin access identity from an existing distribution, update\n the distribution configuration and include an empty\n OriginAccessIdentity element.\n To replace the origin access identity, update the distribution configuration\n and specify the new origin access identity.\n Use the format origin-access-identity/cloudfront/Id where Id is the value that \n CloudFront returned in the Id element when you created the origin access identity. \n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3 origin. If\n the origin is a custom origin, use the CustomOriginConfig element\n instead.\n " + }, + "CustomOriginConfig": { + "shape_name": "CustomOriginConfig", + "type": "structure", + "members": { + "HTTPPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTP port the custom origin listens on.\n ", + "required": true + }, + "HTTPSPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTPS port the custom origin listens on.\n ", + "required": true + }, + "OriginProtocolPolicy": { + "shape_name": "OriginProtocolPolicy", + "type": "string", + "enum": [ + "http-only", + "match-viewer" + ], + "documentation": "\n The origin protocol policy to apply to your origin.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about a custom origin. If the\n origin is an Amazon S3 bucket, use the S3OriginConfig element\n instead.\n " + } + }, + "documentation": "\n A complex type that describes the Amazon S3 bucket or the HTTP server\n (for example, a web server) from which CloudFront gets your files.You\n must create at least one origin.\n ", + "xmlname": "Origin" + }, + "min_length": 1, + "documentation": "\n A complex type that contains origins for this distribution.\n " + } + }, + "documentation": "\n A complex type that contains information about origins for this distribution.\n ", + "required": true + }, + "DefaultCacheBehavior": { + "shape_name": "DefaultCacheBehavior", + "type": "structure", + "members": { + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes the default cache behavior if you do not\n specify a CacheBehavior element or if files don't match any of the values\n of PathPattern in CacheBehavior elements.You must create exactly\n one default cache behavior.\n ", + "required": true + }, + "CacheBehaviors": { + "shape_name": "CacheBehaviors", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of cache behaviors for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CacheBehaviorList", + "type": "list", + "members": { + "shape_name": "CacheBehavior", + "type": "structure", + "members": { + "PathPattern": { + "shape_name": "string", + "type": "string", + "documentation": "\n The pattern (for example, images/*.jpg) that specifies which requests\n you want this cache behavior to apply to. When CloudFront receives an\n end-user request, the requested path is compared with path patterns in\n the order in which cache behaviors are listed in the distribution.\n The path pattern for the default cache behavior is * and cannot be\n changed. If the request for an object does not match the path pattern for\n any cache behaviors, CloudFront applies the behavior in the default cache\n behavior.\n ", + "required": true + }, + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes how CloudFront processes requests.\n You can create up to 10 cache behaviors.You must create at least as\n many cache behaviors (including the default cache behavior) as you have\n origins if you want CloudFront to distribute objects from all of the origins.\n Each cache behavior specifies the one origin from which you want\n CloudFront to get objects. If you have two origins and only the default\n cache behavior, the default cache behavior will cause CloudFront to get\n objects from one of the origins, but the other origin will never be used.\n If you don't want to specify any cache behaviors, include only an empty\n CacheBehaviors element. Don't include an empty CacheBehavior\n element, or CloudFront returns a MalformedXML error.\n To delete all cache behaviors in an existing distribution, update the\n distribution configuration and include only an empty CacheBehaviors\n element.\n To add, change, or remove one or more cache behaviors, update the\n distribution configuration and specify all of the cache behaviors that you\n want to include in the updated distribution.\n ", + "xmlname": "CacheBehavior" + }, + "documentation": "\n Optional: A complex type that contains cache behaviors for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CacheBehavior elements.\n ", + "required": true + }, + "CustomErrorResponses": { + "shape_name": "CustomErrorResponses", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of custom error responses for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CustomErrorResponseList", + "type": "list", + "members": { + "shape_name": "CustomErrorResponse", + "type": "structure", + "members": { + "ErrorCode": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The 4xx or 5xx HTTP status code that you want to customize. For a list of \n HTTP status codes that you can customize, see CloudFront documentation.\n ", + "required": true + }, + "ResponsePagePath": { + "shape_name": "string", + "type": "string", + "documentation": "\n The path of the custom error page (for example, /custom_404.html). The \n path is relative to the distribution and must begin with a slash (/). If\n the path includes any non-ASCII characters or unsafe characters as defined \n in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not \n return the custom error page to the viewer.\n " + }, + "ResponseCode": { + "shape_name": "string", + "type": "string", + "documentation": "\n The HTTP status code that you want CloudFront to return with the custom error \n page to the viewer. For a list of HTTP status codes that you can replace, see \n CloudFront Documentation.\n " + }, + "ErrorCachingMinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time you want HTTP error codes to stay in CloudFront caches \n before CloudFront queries your origin to see whether the object has been updated.\n You can specify a value from 0 to 31,536,000. \n " + } + }, + "documentation": "\n A complex type that describes how you'd prefer CloudFront to respond to\n requests that result in either a 4xx or 5xx response. You can control \n whether a custom error page should be displayed, what the desired response\n code should be for this error page and how long should the error response\n be cached by CloudFront.\n If you don't want to specify any custom error responses, include only an \n empty CustomErrorResponses element. \n To delete all custom error responses in an existing distribution, update the\n distribution configuration and include only an empty CustomErrorResponses\n element.\n To add, change, or remove one or more custom error responses, update the\n distribution configuration and specify all of the custom error responses that\n you want to include in the updated distribution.\n ", + "xmlname": "CustomErrorResponse" + }, + "documentation": "\n Optional: A complex type that contains custom error responses for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CustomErrorResponse elements.\n " + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "LoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a distribution or if\n you want to disable logging for an existing distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket, prefix and\n IncludeCookies, the values are automatically deleted.\n ", + "required": true + }, + "IncludeCookies": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to include cookies in access logs, specify true for\n IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless\n of how you configure the cache behaviors for this distribution.\n If you do not want to include cookies when you create a distribution or if you want to \n disable include cookies for an existing distribution, specify false for IncludeCookies.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the distribution is enabled to accept end user requests for content.\n ", + "required": true + }, + "ViewerCertificate": { + "shape_name": "ViewerCertificate", + "type": "structure", + "members": { + "IAMCertificateId": { + "shape_name": "string", + "type": "string", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using an\n alternate domain name in your object URLs (for example, https://example.com/logo.jpg), \n specify the IAM certificate identifier of the custom viewer certificate for this distribution. \n Specify either this value or CloudFrontDefaultCertificate. \n " + }, + "CloudFrontDefaultCertificate": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name \n of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg),\n set to true. Omit this value if you are setting an IAMCertificateId.\n " + }, + "SSLSupportMethod": { + "shape_name": "SSLSupportMethod", + "type": "string", + "enum": [ + "sni-only", + "vip" + ], + "documentation": "\n If you specify a value for IAMCertificateId, you must also specify how you want CloudFront \n to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses \n dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. \n However, you must request permission to use this feature, and you incur additional monthly \n charges. If you specify sni-only, CloudFront can only respond to HTTPS requests from \n viewers that support Server Name Indication (SNI). All modern browsers support SNI, \n but some browsers still in use don't support SNI. Do not specify a value for SSLSupportMethod if you \n specified true for CloudFrontDefaultCertificate.\n " + } + }, + "documentation": "\n A complex type that contains information about viewer certificates for this distribution.\n " + }, + "Restrictions": { + "shape_name": "Restrictions", + "type": "structure", + "members": { + "GeoRestriction": { + "shape_name": "GeoRestriction", + "type": "structure", + "members": { + "RestrictionType": { + "shape_name": "GeoRestrictionType", + "type": "string", + "enum": [ + "blacklist", + "whitelist", + "none" + ], + "documentation": "\n The method that you want to use to restrict distribution of your content by country:\n - none: No geo restriction is enabled, meaning access to content is not restricted\n by client geo location.\n - blacklist: The Location elements specify the countries in which you do not want \n CloudFront to distribute your content.\n - whitelist: The Location elements specify the countries in which you want CloudFront \n to distribute your content.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n When geo restriction is enabled, this is the number of countries in your whitelist \n or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "LocationList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Location" + }, + "documentation": "\n A complex type that contains a Location element for each country in which you want \n CloudFront either to distribute your content (whitelist) or not distribute your \n content (blacklist). \n\n The Location element is a two-letter, uppercase country code for a country that \n you want to include in your blacklist or whitelist. Include one Location element \n for each country.\n\n CloudFront and MaxMind both use ISO 3166 country codes. For the current list of \n countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International \n Organization for Standardization website. You can also refer to the country list \n in the CloudFront console, which includes both country names and codes.\n " + } + }, + "documentation": "\n A complex type that controls the countries in which your content is distributed. \n For more information about geo restriction, go to Customizing Error Responses in \n the Amazon CloudFront Developer Guide.\n\n CloudFront determines the location of your users using MaxMind GeoIP databases. \n For information about the accuracy of these databases, see How accurate are \n your GeoIP databases? on the MaxMind website.\n ", + "required": true + } + }, + "documentation": "\n A complex type that identifies ways in which you want to restrict distribution \n of your content.\n " + } + }, + "documentation": "\n The distribution's configuration information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "NoSuchDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified distribution does not exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + } + ], + "documentation": "\n Get the configuration information about a distribution.\n " + }, + "GetInvalidation": { + "name": "GetInvalidation2014_05_31", + "http": { + "uri": "/2014-05-31/distribution/{DistributionId}/invalidation/{Id}", + "method": "GET" + }, + "input": { + "shape_name": "GetInvalidationRequest", + "type": "structure", + "members": { + "DistributionId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The distribution's id.\n ", + "required": true, + "location": "uri" + }, + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The invalidation's id.\n ", + "required": true, + "location": "uri" + } + }, + "documentation": "\n The request to get an invalidation's information.\n " + }, + "output": { + "shape_name": "GetInvalidationResult", + "type": "structure", + "members": { + "Invalidation": { + "shape_name": "Invalidation", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the invalidation request. For example: IDFDVBD632BHDS5.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n The status of the invalidation request. When the invalidation batch is finished, the status is Completed.\n ", + "required": true + }, + "CreateTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the invalidation request was first made.\n ", + "required": true + }, + "InvalidationBatch": { + "shape_name": "InvalidationBatch", + "type": "structure", + "members": { + "Paths": { + "shape_name": "Paths", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of objects that you want to invalidate.\n ", + "required": true + }, + "Items": { + "shape_name": "PathList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Path" + }, + "documentation": "\n A complex type that contains a list of the objects that you want to\n invalidate.\n " + } + }, + "documentation": "\n The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags.\n If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.\n ", + "required": true + }, + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique name that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the Path object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request,\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request,\n CloudFront returns an InvalidationBatchAlreadyExists error.\n ", + "required": true + } + }, + "documentation": "\n The current invalidation information for the batch request.\n ", + "required": true + } + }, + "documentation": "\n The invalidation's information.\n ", + "payload": true + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "NoSuchInvalidation", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified invalidation does not exist.\n " + }, + { + "shape_name": "NoSuchDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified distribution does not exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + } + ], + "documentation": "\n Get the information about an invalidation.\n " + }, + "GetStreamingDistribution": { + "name": "GetStreamingDistribution2014_05_31", + "http": { + "uri": "/2014-05-31/streaming-distribution/{Id}", + "method": "GET" + }, + "input": { + "shape_name": "GetStreamingDistributionRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The streaming distribution's id.\n ", + "location": "uri", + "required": true + } + }, + "documentation": "\n The request to get a streaming distribution's information.\n " + }, + "output": { + "shape_name": "GetStreamingDistributionResult", + "type": "structure", + "members": { + "StreamingDistribution": { + "shape_name": "StreamingDistribution", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.\n ", + "required": true + }, + "LastModifiedTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the distribution was last modified.\n " + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.\n ", + "required": true + }, + "ActiveTrustedSigners": { + "shape_name": "ActiveTrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Each active trusted signer.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of unique trusted signers included in all\n cache behaviors. For example, if three cache\n behaviors all list the same three AWS accounts, the\n value of Quantity for ActiveTrustedSigners will\n be 3.\n ", + "required": true + }, + "Items": { + "shape_name": "SignerList", + "type": "list", + "members": { + "shape_name": "Signer", + "type": "structure", + "members": { + "AwsAccountNumber": { + "shape_name": "string", + "type": "string", + "documentation": "\n Specifies an AWS account that can create signed URLs.\n Values: self, which indicates that the AWS account that was used to create\n the distribution can created signed URLs, or\n an AWS account number. Omit the dashes in the account number.\n " + }, + "KeyPairIds": { + "shape_name": "KeyPairIds", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of active CloudFront key pairs for\n AwsAccountNumber.\n ", + "required": true + }, + "Items": { + "shape_name": "KeyPairIdList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "KeyPairId" + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the AWS accounts that were\n included in the TrustedSigners complex type, as\n well as their active CloudFront key pair IDs, if any.\n ", + "xmlname": "Signer" + }, + "documentation": "\n A complex type that contains one Signer complex\n type for each unique trusted signer that is specified in\n the TrustedSigners complex type, including trusted\n signers in the default cache behavior and in all of the\n other cache behaviors.\n " + } + }, + "documentation": "\n CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs.\n The element lists the key pair IDs that CloudFront is aware of for each trusted signer.\n The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you).\n The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.\n ", + "required": true + }, + "StreamingDistributionConfig": { + "shape_name": "StreamingDistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "S3Origin": { + "shape_name": "S3Origin", + "type": "structure", + "members": { + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The DNS name of the S3 origin.\n ", + "required": true + }, + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n Your S3 origin's origin access identity.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3\n bucket from which you want CloudFront to get your media files for\n distribution.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the streaming distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "StreamingLoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a streaming distribution or if\n you want to disable logging for an existing streaming distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket and\n Prefix, the values are automatically deleted.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this streaming distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the streaming distribution.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this streaming distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the streaming distribution is enabled to accept end user requests for content.\n ", + "required": true + } + }, + "documentation": "\n The current configuration information for the streaming distribution.\n ", + "required": true + } + }, + "documentation": "\n The streaming distribution's information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "NoSuchStreamingDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified streaming distribution does not exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + } + ], + "documentation": "\n Get the information about a streaming distribution.\n " + }, + "GetStreamingDistributionConfig": { + "name": "GetStreamingDistributionConfig2014_05_31", + "http": { + "uri": "/2014-05-31/streaming-distribution/{Id}/config", + "method": "GET" + }, + "input": { + "shape_name": "GetStreamingDistributionConfigRequest", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The streaming distribution's id.\n ", + "location": "uri", + "required": true + } + }, + "documentation": "\n To request to get a streaming distribution configuration.\n " + }, + "output": { + "shape_name": "GetStreamingDistributionConfigResult", + "type": "structure", + "members": { + "StreamingDistributionConfig": { + "shape_name": "StreamingDistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "S3Origin": { + "shape_name": "S3Origin", + "type": "structure", + "members": { + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The DNS name of the S3 origin.\n ", + "required": true + }, + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n Your S3 origin's origin access identity.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3\n bucket from which you want CloudFront to get your media files for\n distribution.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the streaming distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "StreamingLoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a streaming distribution or if\n you want to disable logging for an existing streaming distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket and\n Prefix, the values are automatically deleted.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this streaming distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the streaming distribution.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this streaming distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the streaming distribution is enabled to accept end user requests for content.\n ", + "required": true + } + }, + "documentation": "\n The streaming distribution's configuration information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "NoSuchStreamingDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified streaming distribution does not exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + } + ], + "documentation": "\n Get the configuration information about a streaming distribution.\n " + }, + "ListCloudFrontOriginAccessIdentities": { + "name": "ListCloudFrontOriginAccessIdentities2014_05_31", + "http": { + "uri": "/2014-05-31/origin-access-identity/cloudfront?Marker={Marker}&MaxItems={MaxItems}", + "method": "GET" + }, + "input": { + "shape_name": "ListCloudFrontOriginAccessIdentitiesRequest", + "type": "structure", + "members": { + "Marker": { + "shape_name": "string", + "type": "string", + "documentation": "\n Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker.\n To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).\n ", + "location": "uri" + }, + "MaxItems": { + "shape_name": "string", + "type": "string", + "documentation": "\n The maximum number of origin access identities you want in the response body.\n ", + "location": "uri" + } + }, + "documentation": "\n The request to list origin access identities.\n " + }, + "output": { + "shape_name": "ListCloudFrontOriginAccessIdentitiesResult", + "type": "structure", + "members": { + "CloudFrontOriginAccessIdentityList": { + "shape_name": "CloudFrontOriginAccessIdentityList", + "type": "structure", + "members": { + "Marker": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value you provided for the Marker request parameter.\n ", + "required": true + }, + "NextMarker": { + "shape_name": "string", + "type": "string", + "documentation": "\n If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.\n " + }, + "MaxItems": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The value you provided for the MaxItems request parameter.\n ", + "required": true + }, + "IsTruncated": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n A flag that indicates whether more origin access identities remain to be listed.\n If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CloudFront origin access identities that were created by\n the current AWS account.\n ", + "required": true + }, + "Items": { + "shape_name": "CloudFrontOriginAccessIdentitySummaryList", + "type": "list", + "members": { + "shape_name": "CloudFrontOriginAccessIdentitySummary", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The ID for the origin access identity. For example: E74FTE3AJFJ256A.\n ", + "required": true + }, + "S3CanonicalUserId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 canonical user ID for the origin access identity, which you use when\n giving the origin access identity read permission to an object in Amazon S3.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n The comment for this origin access identity, as originally specified when created.\n ", + "required": true + } + }, + "documentation": "\n Summary of the information about a CloudFront origin access identity.\n ", + "xmlname": "CloudFrontOriginAccessIdentitySummary" + }, + "documentation": "\n A complex type that contains one\n CloudFrontOriginAccessIdentitySummary element for each origin\n access identity that was created by the current AWS account.\n " + } + }, + "documentation": "\n The CloudFrontOriginAccessIdentityList type.\n ", + "payload": true + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + } + ], + "documentation": "\n List origin access identities.\n ", + "pagination": { + "input_token": [ + "Marker" + ], + "limit_key": "MaxItems", + "more_results": "IsTruncated", + "output_token": [ + "NextMarker" + ], + "result_key": "CloudFrontOriginAccessIdentityList", + "py_input_token": [ + "marker" + ] + } + }, + "ListDistributions": { + "name": "ListDistributions2014_05_31", + "http": { + "uri": "/2014-05-31/distribution?Marker={Marker}&MaxItems={MaxItems}", + "method": "GET" + }, + "input": { + "shape_name": "ListDistributionsRequest", + "type": "structure", + "members": { + "Marker": { + "shape_name": "string", + "type": "string", + "documentation": "\n Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker.\n To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).\n ", + "location": "uri" + }, + "MaxItems": { + "shape_name": "string", + "type": "string", + "documentation": "\n The maximum number of distributions you want in the response body.\n ", + "location": "uri" + } + }, + "documentation": "\n The request to list your distributions.\n " + }, + "output": { + "shape_name": "ListDistributionsResult", + "type": "structure", + "members": { + "DistributionList": { + "shape_name": "DistributionList", + "type": "structure", + "members": { + "Marker": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value you provided for the Marker request parameter.\n ", + "required": true + }, + "NextMarker": { + "shape_name": "string", + "type": "string", + "documentation": "\n If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.\n " + }, + "MaxItems": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The value you provided for the MaxItems request parameter.\n ", + "required": true + }, + "IsTruncated": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n A flag that indicates whether more distributions remain to be listed.\n If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of distributions that were created by the current AWS account.\n ", + "required": true + }, + "Items": { + "shape_name": "DistributionSummaryList", + "type": "list", + "members": { + "shape_name": "DistributionSummary", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the distribution. For example: EDFDVBD632BHDS5.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n This response element indicates the current status of the distribution.\n When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.\n ", + "required": true + }, + "LastModifiedTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the distribution was last modified.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.\n ", + "required": true + }, + "Origins": { + "shape_name": "Origins", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of origins for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "OriginList", + "type": "list", + "members": { + "shape_name": "Origin", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique identifier for the origin. The value of Id must be unique within\n the distribution.\n You use the value of Id when you create a cache behavior. The Id\n identifies the origin that CloudFront routes a request to when the request\n matches the path pattern for that cache behavior.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n Amazon S3 origins: The DNS name of the Amazon S3 bucket from\n which you want CloudFront to get objects for this origin, for example,\n myawsbucket.s3.amazonaws.com.\n Custom origins: The DNS domain name for the HTTP server from which\n you want CloudFront to get objects for this origin, for example,\n www.example.com.\n ", + "required": true + }, + "S3OriginConfig": { + "shape_name": "S3OriginConfig", + "type": "structure", + "members": { + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n The CloudFront origin access identity to associate with the origin. Use\n an origin access identity to configure the origin so that end users can\n only access objects in an Amazon S3 bucket through CloudFront.\n If you want end users to be able to access objects using either the\n CloudFront URL or the Amazon S3 URL, specify an empty\n OriginAccessIdentity element.\n To delete the origin access identity from an existing distribution, update\n the distribution configuration and include an empty\n OriginAccessIdentity element.\n To replace the origin access identity, update the distribution configuration\n and specify the new origin access identity.\n Use the format origin-access-identity/cloudfront/Id where Id is the value that \n CloudFront returned in the Id element when you created the origin access identity. \n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3 origin. If\n the origin is a custom origin, use the CustomOriginConfig element\n instead.\n " + }, + "CustomOriginConfig": { + "shape_name": "CustomOriginConfig", + "type": "structure", + "members": { + "HTTPPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTP port the custom origin listens on.\n ", + "required": true + }, + "HTTPSPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTPS port the custom origin listens on.\n ", + "required": true + }, + "OriginProtocolPolicy": { + "shape_name": "OriginProtocolPolicy", + "type": "string", + "enum": [ + "http-only", + "match-viewer" + ], + "documentation": "\n The origin protocol policy to apply to your origin.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about a custom origin. If the\n origin is an Amazon S3 bucket, use the S3OriginConfig element\n instead.\n " + } + }, + "documentation": "\n A complex type that describes the Amazon S3 bucket or the HTTP server\n (for example, a web server) from which CloudFront gets your files.You\n must create at least one origin.\n ", + "xmlname": "Origin" + }, + "min_length": 1, + "documentation": "\n A complex type that contains origins for this distribution.\n " + } + }, + "documentation": "\n A complex type that contains information about origins for this distribution.\n ", + "required": true + }, + "DefaultCacheBehavior": { + "shape_name": "DefaultCacheBehavior", + "type": "structure", + "members": { + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes the default cache behavior if you do not\n specify a CacheBehavior element or if files don't match any of the values\n of PathPattern in CacheBehavior elements.You must create exactly\n one default cache behavior.\n ", + "required": true + }, + "CacheBehaviors": { + "shape_name": "CacheBehaviors", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of cache behaviors for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CacheBehaviorList", + "type": "list", + "members": { + "shape_name": "CacheBehavior", + "type": "structure", + "members": { + "PathPattern": { + "shape_name": "string", + "type": "string", + "documentation": "\n The pattern (for example, images/*.jpg) that specifies which requests\n you want this cache behavior to apply to. When CloudFront receives an\n end-user request, the requested path is compared with path patterns in\n the order in which cache behaviors are listed in the distribution.\n The path pattern for the default cache behavior is * and cannot be\n changed. If the request for an object does not match the path pattern for\n any cache behaviors, CloudFront applies the behavior in the default cache\n behavior.\n ", + "required": true + }, + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes how CloudFront processes requests.\n You can create up to 10 cache behaviors.You must create at least as\n many cache behaviors (including the default cache behavior) as you have\n origins if you want CloudFront to distribute objects from all of the origins.\n Each cache behavior specifies the one origin from which you want\n CloudFront to get objects. If you have two origins and only the default\n cache behavior, the default cache behavior will cause CloudFront to get\n objects from one of the origins, but the other origin will never be used.\n If you don't want to specify any cache behaviors, include only an empty\n CacheBehaviors element. Don't include an empty CacheBehavior\n element, or CloudFront returns a MalformedXML error.\n To delete all cache behaviors in an existing distribution, update the\n distribution configuration and include only an empty CacheBehaviors\n element.\n To add, change, or remove one or more cache behaviors, update the\n distribution configuration and specify all of the cache behaviors that you\n want to include in the updated distribution.\n ", + "xmlname": "CacheBehavior" + }, + "documentation": "\n Optional: A complex type that contains cache behaviors for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CacheBehavior elements.\n ", + "required": true + }, + "CustomErrorResponses": { + "shape_name": "CustomErrorResponses", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of custom error responses for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CustomErrorResponseList", + "type": "list", + "members": { + "shape_name": "CustomErrorResponse", + "type": "structure", + "members": { + "ErrorCode": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The 4xx or 5xx HTTP status code that you want to customize. For a list of \n HTTP status codes that you can customize, see CloudFront documentation.\n ", + "required": true + }, + "ResponsePagePath": { + "shape_name": "string", + "type": "string", + "documentation": "\n The path of the custom error page (for example, /custom_404.html). The \n path is relative to the distribution and must begin with a slash (/). If\n the path includes any non-ASCII characters or unsafe characters as defined \n in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not \n return the custom error page to the viewer.\n " + }, + "ResponseCode": { + "shape_name": "string", + "type": "string", + "documentation": "\n The HTTP status code that you want CloudFront to return with the custom error \n page to the viewer. For a list of HTTP status codes that you can replace, see \n CloudFront Documentation.\n " + }, + "ErrorCachingMinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time you want HTTP error codes to stay in CloudFront caches \n before CloudFront queries your origin to see whether the object has been updated.\n You can specify a value from 0 to 31,536,000. \n " + } + }, + "documentation": "\n A complex type that describes how you'd prefer CloudFront to respond to\n requests that result in either a 4xx or 5xx response. You can control \n whether a custom error page should be displayed, what the desired response\n code should be for this error page and how long should the error response\n be cached by CloudFront.\n If you don't want to specify any custom error responses, include only an \n empty CustomErrorResponses element. \n To delete all custom error responses in an existing distribution, update the\n distribution configuration and include only an empty CustomErrorResponses\n element.\n To add, change, or remove one or more custom error responses, update the\n distribution configuration and specify all of the custom error responses that\n you want to include in the updated distribution.\n ", + "xmlname": "CustomErrorResponse" + }, + "documentation": "\n Optional: A complex type that contains custom error responses for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CustomErrorResponses elements.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n The comment originally specified when this distribution was created.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": null, + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the distribution is enabled to accept end user requests for content.\n ", + "required": true + }, + "ViewerCertificate": { + "shape_name": "ViewerCertificate", + "type": "structure", + "members": { + "IAMCertificateId": { + "shape_name": "string", + "type": "string", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using an\n alternate domain name in your object URLs (for example, https://example.com/logo.jpg), \n specify the IAM certificate identifier of the custom viewer certificate for this distribution. \n Specify either this value or CloudFrontDefaultCertificate. \n " + }, + "CloudFrontDefaultCertificate": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name \n of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg),\n set to true. Omit this value if you are setting an IAMCertificateId.\n " + }, + "SSLSupportMethod": { + "shape_name": "SSLSupportMethod", + "type": "string", + "enum": [ + "sni-only", + "vip" + ], + "documentation": "\n If you specify a value for IAMCertificateId, you must also specify how you want CloudFront \n to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses \n dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. \n However, you must request permission to use this feature, and you incur additional monthly \n charges. If you specify sni-only, CloudFront can only respond to HTTPS requests from \n viewers that support Server Name Indication (SNI). All modern browsers support SNI, \n but some browsers still in use don't support SNI. Do not specify a value for SSLSupportMethod if you \n specified true for CloudFrontDefaultCertificate.\n " + } + }, + "documentation": "\n A complex type that contains information about viewer certificates for this distribution.\n ", + "required": true + }, + "Restrictions": { + "shape_name": "Restrictions", + "type": "structure", + "members": { + "GeoRestriction": { + "shape_name": "GeoRestriction", + "type": "structure", + "members": { + "RestrictionType": { + "shape_name": "GeoRestrictionType", + "type": "string", + "enum": [ + "blacklist", + "whitelist", + "none" + ], + "documentation": "\n The method that you want to use to restrict distribution of your content by country:\n - none: No geo restriction is enabled, meaning access to content is not restricted\n by client geo location.\n - blacklist: The Location elements specify the countries in which you do not want \n CloudFront to distribute your content.\n - whitelist: The Location elements specify the countries in which you want CloudFront \n to distribute your content.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n When geo restriction is enabled, this is the number of countries in your whitelist \n or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "LocationList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Location" + }, + "documentation": "\n A complex type that contains a Location element for each country in which you want \n CloudFront either to distribute your content (whitelist) or not distribute your \n content (blacklist). \n\n The Location element is a two-letter, uppercase country code for a country that \n you want to include in your blacklist or whitelist. Include one Location element \n for each country.\n\n CloudFront and MaxMind both use ISO 3166 country codes. For the current list of \n countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International \n Organization for Standardization website. You can also refer to the country list \n in the CloudFront console, which includes both country names and codes.\n " + } + }, + "documentation": "\n A complex type that controls the countries in which your content is distributed. \n For more information about geo restriction, go to Customizing Error Responses in \n the Amazon CloudFront Developer Guide.\n\n CloudFront determines the location of your users using MaxMind GeoIP databases. \n For information about the accuracy of these databases, see How accurate are \n your GeoIP databases? on the MaxMind website.\n ", + "required": true + } + }, + "documentation": "\n A complex type that identifies ways in which you want to restrict distribution \n of your content.\n ", + "required": true + } + }, + "documentation": "\n A summary of the information for an Amazon CloudFront distribution.\n ", + "xmlname": "DistributionSummary" + }, + "documentation": "\n A complex type that contains one DistributionSummary element for\n each distribution that was created by the current AWS account.\n " + } + }, + "documentation": "\n The DistributionList type.\n ", + "payload": true + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + } + ], + "documentation": "\n List distributions.\n ", + "pagination": { + "input_token": [ + "Marker" + ], + "limit_key": "MaxItems", + "more_results": "IsTruncated", + "output_token": [ + "NextMarker" + ], + "result_key": "DistributionList", + "py_input_token": [ + "marker" + ] + } + }, + "ListInvalidations": { + "name": "ListInvalidations2014_05_31", + "http": { + "uri": "/2014-05-31/distribution/{DistributionId}/invalidation?Marker={Marker}&MaxItems={MaxItems}", + "method": "GET" + }, + "input": { + "shape_name": "ListInvalidationsRequest", + "type": "structure", + "members": { + "DistributionId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The distribution's id.\n ", + "required": true, + "location": "uri" + }, + "Marker": { + "shape_name": "string", + "type": "string", + "documentation": "\n Use this parameter when paginating results to indicate where to begin in your list of invalidation batches.\n Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on.\n To get the next page of results, set the Marker to the value of the NextMarker from the current page's response.\n This value is the same as the ID of the last invalidation batch on that page.\n ", + "location": "uri" + }, + "MaxItems": { + "shape_name": "string", + "type": "string", + "documentation": "\n The maximum number of invalidation batches you want in the response body.\n ", + "location": "uri" + } + }, + "documentation": "\n The request to list invalidations.\n " + }, + "output": { + "shape_name": "ListInvalidationsResult", + "type": "structure", + "members": { + "InvalidationList": { + "shape_name": "InvalidationList", + "type": "structure", + "members": { + "Marker": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value you provided for the Marker request parameter.\n ", + "required": true + }, + "NextMarker": { + "shape_name": "string", + "type": "string", + "documentation": "\n If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your invalidation batches where they left off.\n " + }, + "MaxItems": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The value you provided for the MaxItems request parameter.\n ", + "required": true + }, + "IsTruncated": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n A flag that indicates whether more invalidation batch requests remain to be listed.\n If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of invalidation batches that were created by the current AWS\n account.\n ", + "required": true + }, + "Items": { + "shape_name": "InvalidationSummaryList", + "type": "list", + "members": { + "shape_name": "InvalidationSummary", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The unique ID for an invalidation request.\n ", + "required": true + }, + "CreateTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": null, + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n The status of an invalidation request.\n ", + "required": true + } + }, + "documentation": "\n Summary of an invalidation request.\n ", + "xmlname": "InvalidationSummary" + }, + "documentation": "\n A complex type that contains one InvalidationSummary element for\n each invalidation batch that was created by the current AWS account.\n " + } + }, + "documentation": "\n Information about invalidation batches.\n ", + "payload": true + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + }, + { + "shape_name": "NoSuchDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified distribution does not exist.\n " + }, + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + } + ], + "documentation": "\n List invalidation batches.\n ", + "pagination": { + "input_token": [ + "Marker" + ], + "limit_key": "MaxItems", + "more_results": "IsTruncated", + "output_token": [ + "NextMarker" + ], + "result_key": "InvalidationList", + "py_input_token": [ + "marker" + ] + } + }, + "ListStreamingDistributions": { + "name": "ListStreamingDistributions2014_05_31", + "http": { + "uri": "/2014-05-31/streaming-distribution?Marker={Marker}&MaxItems={MaxItems}", + "method": "GET" + }, + "input": { + "shape_name": "ListStreamingDistributionsRequest", + "type": "structure", + "members": { + "Marker": { + "shape_name": "string", + "type": "string", + "documentation": "\n Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker.\n To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).\n ", + "location": "uri" + }, + "MaxItems": { + "shape_name": "string", + "type": "string", + "documentation": "\n The maximum number of streaming distributions you want in the response body.\n ", + "location": "uri" + } + }, + "documentation": "\n The request to list your streaming distributions.\n " + }, + "output": { + "shape_name": "ListStreamingDistributionsResult", + "type": "structure", + "members": { + "StreamingDistributionList": { + "shape_name": "StreamingDistributionList", + "type": "structure", + "members": { + "Marker": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value you provided for the Marker request parameter.\n ", + "required": true + }, + "NextMarker": { + "shape_name": "string", + "type": "string", + "documentation": "\n If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your streaming distributions where they left off.\n " + }, + "MaxItems": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The value you provided for the MaxItems request parameter.\n ", + "required": true + }, + "IsTruncated": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n A flag that indicates whether more streaming distributions remain to be listed.\n If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of streaming distributions that were created by the current\n AWS account.\n ", + "required": true + }, + "Items": { + "shape_name": "StreamingDistributionSummaryList", + "type": "list", + "members": { + "shape_name": "StreamingDistributionSummary", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the distribution. For example: EDFDVBD632BHDS5.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n Indicates the current status of the distribution.\n When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.\n ", + "required": true + }, + "LastModifiedTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the distribution was last modified.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.\n ", + "required": true + }, + "S3Origin": { + "shape_name": "S3Origin", + "type": "structure", + "members": { + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The DNS name of the S3 origin.\n ", + "required": true + }, + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n Your S3 origin's origin access identity.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3\n bucket from which you want CloudFront to get your media files for\n distribution.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n The comment originally specified when this distribution was created.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": null, + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the distribution is enabled to accept end user requests for content.\n ", + "required": true + } + }, + "documentation": "\n A summary of the information for an Amazon CloudFront streaming distribution.\n ", + "xmlname": "StreamingDistributionSummary" + }, + "documentation": "\n A complex type that contains one StreamingDistributionSummary\n element for each distribution that was created by the current AWS\n account. \n " + } + }, + "documentation": "\n The StreamingDistributionList type.\n ", + "payload": true + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + } + ], + "documentation": "\n List streaming distributions.\n ", + "pagination": { + "input_token": [ + "Marker" + ], + "limit_key": "MaxItems", + "more_results": "IsTruncated", + "output_token": [ + "NextMarker" + ], + "result_key": "StreamingDistributionList", + "py_input_token": [ + "marker" + ] + } + }, + "UpdateCloudFrontOriginAccessIdentity": { + "name": "UpdateCloudFrontOriginAccessIdentity2014_05_31", + "http": { + "uri": "/2014-05-31/origin-access-identity/cloudfront/{Id}/config", + "method": "PUT" + }, + "input": { + "shape_name": "UpdateCloudFrontOriginAccessIdentityRequest", + "type": "structure", + "members": { + "CloudFrontOriginAccessIdentityConfig": { + "shape_name": "CloudFrontOriginAccessIdentityConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.\n If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request,\n CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the origin access identity.\n ", + "required": true + } + }, + "documentation": "\n The identity's configuration information.\n ", + "required": true, + "payload": true + }, + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identity's id.\n ", + "location": "uri", + "required": true + }, + "IfMatch": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "If-Match" + } + }, + "documentation": "\n The request to update an origin access identity.\n " + }, + "output": { + "shape_name": "UpdateCloudFrontOriginAccessIdentityResult", + "type": "structure", + "members": { + "CloudFrontOriginAccessIdentity": { + "shape_name": "CloudFrontOriginAccessIdentity", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The ID for the origin access identity. For example: E74FTE3AJFJ256A.\n ", + "required": true + }, + "S3CanonicalUserId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.\n ", + "required": true + }, + "CloudFrontOriginAccessIdentityConfig": { + "shape_name": "CloudFrontOriginAccessIdentityConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.\n If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request,\n CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the origin access identity.\n ", + "required": true + } + }, + "documentation": "\n The current configuration information for the identity.\n " + } + }, + "documentation": "\n The origin access identity's information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "IllegalUpdate", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Origin and CallerReference cannot be updated.\n " + }, + { + "shape_name": "InvalidIfMatchVersion", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The If-Match version is missing or not valid for the distribution.\n " + }, + { + "shape_name": "MissingBody", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires a body. Ensure that the body is present and the Content-Type header is set.\n " + }, + { + "shape_name": "NoSuchCloudFrontOriginAccessIdentity", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified origin access identity does not exist.\n " + }, + { + "shape_name": "PreconditionFailed", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The precondition given in one or more of the request-header fields evaluated to false.\n " + }, + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + }, + { + "shape_name": "InconsistentQuantities", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The value of Quantity and the size of Items do not match.\n " + } + ], + "documentation": "\n Update an origin access identity.\n " + }, + "UpdateDistribution": { + "name": "UpdateDistribution2014_05_31", + "http": { + "uri": "/2014-05-31/distribution/{Id}/config", + "method": "PUT" + }, + "input": { + "shape_name": "UpdateDistributionRequest", + "type": "structure", + "members": { + "DistributionConfig": { + "shape_name": "DistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.\n ", + "required": true + }, + "DefaultRootObject": { + "shape_name": "string", + "type": "string", + "documentation": "\n The object that you want CloudFront to return (for example, index.html)\n when an end user requests the root URL for your distribution\n (http://www.example.com) instead of an object in your distribution\n (http://www.example.com/index.html). Specifying a default root\n object avoids exposing the contents of your distribution.\n If you don't want to specify a default root object when you create a\n distribution, include an empty DefaultRootObject element.\n To delete the default root object from an existing distribution, update the\n distribution configuration and include an empty DefaultRootObject\n element. To replace the default root object, update the distribution configuration\n and specify the new object.\n ", + "required": true + }, + "Origins": { + "shape_name": "Origins", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of origins for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "OriginList", + "type": "list", + "members": { + "shape_name": "Origin", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique identifier for the origin. The value of Id must be unique within\n the distribution.\n You use the value of Id when you create a cache behavior. The Id\n identifies the origin that CloudFront routes a request to when the request\n matches the path pattern for that cache behavior.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n Amazon S3 origins: The DNS name of the Amazon S3 bucket from\n which you want CloudFront to get objects for this origin, for example,\n myawsbucket.s3.amazonaws.com.\n Custom origins: The DNS domain name for the HTTP server from which\n you want CloudFront to get objects for this origin, for example,\n www.example.com.\n ", + "required": true + }, + "S3OriginConfig": { + "shape_name": "S3OriginConfig", + "type": "structure", + "members": { + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n The CloudFront origin access identity to associate with the origin. Use\n an origin access identity to configure the origin so that end users can\n only access objects in an Amazon S3 bucket through CloudFront.\n If you want end users to be able to access objects using either the\n CloudFront URL or the Amazon S3 URL, specify an empty\n OriginAccessIdentity element.\n To delete the origin access identity from an existing distribution, update\n the distribution configuration and include an empty\n OriginAccessIdentity element.\n To replace the origin access identity, update the distribution configuration\n and specify the new origin access identity.\n Use the format origin-access-identity/cloudfront/Id where Id is the value that \n CloudFront returned in the Id element when you created the origin access identity. \n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3 origin. If\n the origin is a custom origin, use the CustomOriginConfig element\n instead.\n " + }, + "CustomOriginConfig": { + "shape_name": "CustomOriginConfig", + "type": "structure", + "members": { + "HTTPPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTP port the custom origin listens on.\n ", + "required": true + }, + "HTTPSPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTPS port the custom origin listens on.\n ", + "required": true + }, + "OriginProtocolPolicy": { + "shape_name": "OriginProtocolPolicy", + "type": "string", + "enum": [ + "http-only", + "match-viewer" + ], + "documentation": "\n The origin protocol policy to apply to your origin.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about a custom origin. If the\n origin is an Amazon S3 bucket, use the S3OriginConfig element\n instead.\n " + } + }, + "documentation": "\n A complex type that describes the Amazon S3 bucket or the HTTP server\n (for example, a web server) from which CloudFront gets your files.You\n must create at least one origin.\n ", + "xmlname": "Origin" + }, + "min_length": 1, + "documentation": "\n A complex type that contains origins for this distribution.\n " + } + }, + "documentation": "\n A complex type that contains information about origins for this distribution.\n ", + "required": true + }, + "DefaultCacheBehavior": { + "shape_name": "DefaultCacheBehavior", + "type": "structure", + "members": { + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes the default cache behavior if you do not\n specify a CacheBehavior element or if files don't match any of the values\n of PathPattern in CacheBehavior elements.You must create exactly\n one default cache behavior.\n ", + "required": true + }, + "CacheBehaviors": { + "shape_name": "CacheBehaviors", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of cache behaviors for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CacheBehaviorList", + "type": "list", + "members": { + "shape_name": "CacheBehavior", + "type": "structure", + "members": { + "PathPattern": { + "shape_name": "string", + "type": "string", + "documentation": "\n The pattern (for example, images/*.jpg) that specifies which requests\n you want this cache behavior to apply to. When CloudFront receives an\n end-user request, the requested path is compared with path patterns in\n the order in which cache behaviors are listed in the distribution.\n The path pattern for the default cache behavior is * and cannot be\n changed. If the request for an object does not match the path pattern for\n any cache behaviors, CloudFront applies the behavior in the default cache\n behavior.\n ", + "required": true + }, + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes how CloudFront processes requests.\n You can create up to 10 cache behaviors.You must create at least as\n many cache behaviors (including the default cache behavior) as you have\n origins if you want CloudFront to distribute objects from all of the origins.\n Each cache behavior specifies the one origin from which you want\n CloudFront to get objects. If you have two origins and only the default\n cache behavior, the default cache behavior will cause CloudFront to get\n objects from one of the origins, but the other origin will never be used.\n If you don't want to specify any cache behaviors, include only an empty\n CacheBehaviors element. Don't include an empty CacheBehavior\n element, or CloudFront returns a MalformedXML error.\n To delete all cache behaviors in an existing distribution, update the\n distribution configuration and include only an empty CacheBehaviors\n element.\n To add, change, or remove one or more cache behaviors, update the\n distribution configuration and specify all of the cache behaviors that you\n want to include in the updated distribution.\n ", + "xmlname": "CacheBehavior" + }, + "documentation": "\n Optional: A complex type that contains cache behaviors for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CacheBehavior elements.\n ", + "required": true + }, + "CustomErrorResponses": { + "shape_name": "CustomErrorResponses", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of custom error responses for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CustomErrorResponseList", + "type": "list", + "members": { + "shape_name": "CustomErrorResponse", + "type": "structure", + "members": { + "ErrorCode": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The 4xx or 5xx HTTP status code that you want to customize. For a list of \n HTTP status codes that you can customize, see CloudFront documentation.\n ", + "required": true + }, + "ResponsePagePath": { + "shape_name": "string", + "type": "string", + "documentation": "\n The path of the custom error page (for example, /custom_404.html). The \n path is relative to the distribution and must begin with a slash (/). If\n the path includes any non-ASCII characters or unsafe characters as defined \n in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not \n return the custom error page to the viewer.\n " + }, + "ResponseCode": { + "shape_name": "string", + "type": "string", + "documentation": "\n The HTTP status code that you want CloudFront to return with the custom error \n page to the viewer. For a list of HTTP status codes that you can replace, see \n CloudFront Documentation.\n " + }, + "ErrorCachingMinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time you want HTTP error codes to stay in CloudFront caches \n before CloudFront queries your origin to see whether the object has been updated.\n You can specify a value from 0 to 31,536,000. \n " + } + }, + "documentation": "\n A complex type that describes how you'd prefer CloudFront to respond to\n requests that result in either a 4xx or 5xx response. You can control \n whether a custom error page should be displayed, what the desired response\n code should be for this error page and how long should the error response\n be cached by CloudFront.\n If you don't want to specify any custom error responses, include only an \n empty CustomErrorResponses element. \n To delete all custom error responses in an existing distribution, update the\n distribution configuration and include only an empty CustomErrorResponses\n element.\n To add, change, or remove one or more custom error responses, update the\n distribution configuration and specify all of the custom error responses that\n you want to include in the updated distribution.\n ", + "xmlname": "CustomErrorResponse" + }, + "documentation": "\n Optional: A complex type that contains custom error responses for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CustomErrorResponse elements.\n " + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "LoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a distribution or if\n you want to disable logging for an existing distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket, prefix and\n IncludeCookies, the values are automatically deleted.\n ", + "required": true + }, + "IncludeCookies": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to include cookies in access logs, specify true for\n IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless\n of how you configure the cache behaviors for this distribution.\n If you do not want to include cookies when you create a distribution or if you want to \n disable include cookies for an existing distribution, specify false for IncludeCookies.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the distribution is enabled to accept end user requests for content.\n ", + "required": true + }, + "ViewerCertificate": { + "shape_name": "ViewerCertificate", + "type": "structure", + "members": { + "IAMCertificateId": { + "shape_name": "string", + "type": "string", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using an\n alternate domain name in your object URLs (for example, https://example.com/logo.jpg), \n specify the IAM certificate identifier of the custom viewer certificate for this distribution. \n Specify either this value or CloudFrontDefaultCertificate. \n " + }, + "CloudFrontDefaultCertificate": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name \n of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg),\n set to true. Omit this value if you are setting an IAMCertificateId.\n " + }, + "SSLSupportMethod": { + "shape_name": "SSLSupportMethod", + "type": "string", + "enum": [ + "sni-only", + "vip" + ], + "documentation": "\n If you specify a value for IAMCertificateId, you must also specify how you want CloudFront \n to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses \n dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. \n However, you must request permission to use this feature, and you incur additional monthly \n charges. If you specify sni-only, CloudFront can only respond to HTTPS requests from \n viewers that support Server Name Indication (SNI). All modern browsers support SNI, \n but some browsers still in use don't support SNI. Do not specify a value for SSLSupportMethod if you \n specified true for CloudFrontDefaultCertificate.\n " + } + }, + "documentation": "\n A complex type that contains information about viewer certificates for this distribution.\n " + }, + "Restrictions": { + "shape_name": "Restrictions", + "type": "structure", + "members": { + "GeoRestriction": { + "shape_name": "GeoRestriction", + "type": "structure", + "members": { + "RestrictionType": { + "shape_name": "GeoRestrictionType", + "type": "string", + "enum": [ + "blacklist", + "whitelist", + "none" + ], + "documentation": "\n The method that you want to use to restrict distribution of your content by country:\n - none: No geo restriction is enabled, meaning access to content is not restricted\n by client geo location.\n - blacklist: The Location elements specify the countries in which you do not want \n CloudFront to distribute your content.\n - whitelist: The Location elements specify the countries in which you want CloudFront \n to distribute your content.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n When geo restriction is enabled, this is the number of countries in your whitelist \n or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "LocationList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Location" + }, + "documentation": "\n A complex type that contains a Location element for each country in which you want \n CloudFront either to distribute your content (whitelist) or not distribute your \n content (blacklist). \n\n The Location element is a two-letter, uppercase country code for a country that \n you want to include in your blacklist or whitelist. Include one Location element \n for each country.\n\n CloudFront and MaxMind both use ISO 3166 country codes. For the current list of \n countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International \n Organization for Standardization website. You can also refer to the country list \n in the CloudFront console, which includes both country names and codes.\n " + } + }, + "documentation": "\n A complex type that controls the countries in which your content is distributed. \n For more information about geo restriction, go to Customizing Error Responses in \n the Amazon CloudFront Developer Guide.\n\n CloudFront determines the location of your users using MaxMind GeoIP databases. \n For information about the accuracy of these databases, see How accurate are \n your GeoIP databases? on the MaxMind website.\n ", + "required": true + } + }, + "documentation": "\n A complex type that identifies ways in which you want to restrict distribution \n of your content.\n " + } + }, + "documentation": "\n The distribution's configuration information.\n ", + "required": true, + "payload": true + }, + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The distribution's id.\n ", + "location": "uri", + "required": true + }, + "IfMatch": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "If-Match" + } + }, + "documentation": "\n The request to update a distribution.\n " + }, + "output": { + "shape_name": "UpdateDistributionResult", + "type": "structure", + "members": { + "Distribution": { + "shape_name": "Distribution", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the distribution. For example: EDFDVBD632BHDS5.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n This response element indicates the current status of the distribution.\n When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.\n ", + "required": true + }, + "LastModifiedTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the distribution was last modified.\n ", + "required": true + }, + "InProgressInvalidationBatches": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of invalidation batches currently in progress.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.\n ", + "required": true + }, + "ActiveTrustedSigners": { + "shape_name": "ActiveTrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Each active trusted signer.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of unique trusted signers included in all\n cache behaviors. For example, if three cache\n behaviors all list the same three AWS accounts, the\n value of Quantity for ActiveTrustedSigners will\n be 3.\n ", + "required": true + }, + "Items": { + "shape_name": "SignerList", + "type": "list", + "members": { + "shape_name": "Signer", + "type": "structure", + "members": { + "AwsAccountNumber": { + "shape_name": "string", + "type": "string", + "documentation": "\n Specifies an AWS account that can create signed URLs.\n Values: self, which indicates that the AWS account that was used to create\n the distribution can created signed URLs, or\n an AWS account number. Omit the dashes in the account number.\n " + }, + "KeyPairIds": { + "shape_name": "KeyPairIds", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of active CloudFront key pairs for\n AwsAccountNumber.\n ", + "required": true + }, + "Items": { + "shape_name": "KeyPairIdList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "KeyPairId" + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the AWS accounts that were\n included in the TrustedSigners complex type, as\n well as their active CloudFront key pair IDs, if any.\n ", + "xmlname": "Signer" + }, + "documentation": "\n A complex type that contains one Signer complex\n type for each unique trusted signer that is specified in\n the TrustedSigners complex type, including trusted\n signers in the default cache behavior and in all of the\n other cache behaviors.\n " + } + }, + "documentation": "\n CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs.\n The element lists the key pair IDs that CloudFront is aware of for each trusted signer.\n The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you).\n The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.\n ", + "required": true + }, + "DistributionConfig": { + "shape_name": "DistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.\n ", + "required": true + }, + "DefaultRootObject": { + "shape_name": "string", + "type": "string", + "documentation": "\n The object that you want CloudFront to return (for example, index.html)\n when an end user requests the root URL for your distribution\n (http://www.example.com) instead of an object in your distribution\n (http://www.example.com/index.html). Specifying a default root\n object avoids exposing the contents of your distribution.\n If you don't want to specify a default root object when you create a\n distribution, include an empty DefaultRootObject element.\n To delete the default root object from an existing distribution, update the\n distribution configuration and include an empty DefaultRootObject\n element. To replace the default root object, update the distribution configuration\n and specify the new object.\n ", + "required": true + }, + "Origins": { + "shape_name": "Origins", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of origins for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "OriginList", + "type": "list", + "members": { + "shape_name": "Origin", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique identifier for the origin. The value of Id must be unique within\n the distribution.\n You use the value of Id when you create a cache behavior. The Id\n identifies the origin that CloudFront routes a request to when the request\n matches the path pattern for that cache behavior.\n ", + "required": true + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n Amazon S3 origins: The DNS name of the Amazon S3 bucket from\n which you want CloudFront to get objects for this origin, for example,\n myawsbucket.s3.amazonaws.com.\n Custom origins: The DNS domain name for the HTTP server from which\n you want CloudFront to get objects for this origin, for example,\n www.example.com.\n ", + "required": true + }, + "S3OriginConfig": { + "shape_name": "S3OriginConfig", + "type": "structure", + "members": { + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n The CloudFront origin access identity to associate with the origin. Use\n an origin access identity to configure the origin so that end users can\n only access objects in an Amazon S3 bucket through CloudFront.\n If you want end users to be able to access objects using either the\n CloudFront URL or the Amazon S3 URL, specify an empty\n OriginAccessIdentity element.\n To delete the origin access identity from an existing distribution, update\n the distribution configuration and include an empty\n OriginAccessIdentity element.\n To replace the origin access identity, update the distribution configuration\n and specify the new origin access identity.\n Use the format origin-access-identity/cloudfront/Id where Id is the value that \n CloudFront returned in the Id element when you created the origin access identity. \n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3 origin. If\n the origin is a custom origin, use the CustomOriginConfig element\n instead.\n " + }, + "CustomOriginConfig": { + "shape_name": "CustomOriginConfig", + "type": "structure", + "members": { + "HTTPPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTP port the custom origin listens on.\n ", + "required": true + }, + "HTTPSPort": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The HTTPS port the custom origin listens on.\n ", + "required": true + }, + "OriginProtocolPolicy": { + "shape_name": "OriginProtocolPolicy", + "type": "string", + "enum": [ + "http-only", + "match-viewer" + ], + "documentation": "\n The origin protocol policy to apply to your origin.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about a custom origin. If the\n origin is an Amazon S3 bucket, use the S3OriginConfig element\n instead.\n " + } + }, + "documentation": "\n A complex type that describes the Amazon S3 bucket or the HTTP server\n (for example, a web server) from which CloudFront gets your files.You\n must create at least one origin.\n ", + "xmlname": "Origin" + }, + "min_length": 1, + "documentation": "\n A complex type that contains origins for this distribution.\n " + } + }, + "documentation": "\n A complex type that contains information about origins for this distribution.\n ", + "required": true + }, + "DefaultCacheBehavior": { + "shape_name": "DefaultCacheBehavior", + "type": "structure", + "members": { + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes the default cache behavior if you do not\n specify a CacheBehavior element or if files don't match any of the values\n of PathPattern in CacheBehavior elements.You must create exactly\n one default cache behavior.\n ", + "required": true + }, + "CacheBehaviors": { + "shape_name": "CacheBehaviors", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of cache behaviors for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CacheBehaviorList", + "type": "list", + "members": { + "shape_name": "CacheBehavior", + "type": "structure", + "members": { + "PathPattern": { + "shape_name": "string", + "type": "string", + "documentation": "\n The pattern (for example, images/*.jpg) that specifies which requests\n you want this cache behavior to apply to. When CloudFront receives an\n end-user request, the requested path is compared with path patterns in\n the order in which cache behaviors are listed in the distribution.\n The path pattern for the default cache behavior is * and cannot be\n changed. If the request for an object does not match the path pattern for\n any cache behaviors, CloudFront applies the behavior in the default cache\n behavior.\n ", + "required": true + }, + "TargetOriginId": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of ID for the origin that you want CloudFront to route requests\n to when a request matches the path pattern either for a cache behavior\n or for the default cache behavior.\n ", + "required": true + }, + "ForwardedValues": { + "shape_name": "ForwardedValues", + "type": "structure", + "members": { + "QueryString": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want CloudFront to forward query strings to the\n origin that is associated with this cache behavior. If so, specify true; if\n not, specify false.\n ", + "required": true + }, + "Cookies": { + "shape_name": "CookiePreference", + "type": "structure", + "members": { + "Forward": { + "shape_name": "ItemSelection", + "type": "string", + "enum": [ + "none", + "whitelist", + "all" + ], + "documentation": "\n Use this element to specify whether you want CloudFront to forward cookies to the origin that is\n associated with this cache behavior. You can specify all, none or whitelist. If you choose All,\n CloudFront forwards all cookies regardless of how many your application uses.\n ", + "required": true + }, + "WhitelistedNames": { + "shape_name": "CookieNames", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of whitelisted cookies for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "CookieNameList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains whitelisted cookies for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your\n origin that is associated with this cache behavior.\n " + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles cookies.\n ", + "required": true + }, + "Headers": { + "shape_name": "Headers", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of different headers that you want CloudFront to forward to the origin and to vary \n on for this cache behavior. The maximum number of headers that you can specify by name is 10. \n If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 \n for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to \n the origin or to vary on any headers, specify 0 for Quantity and omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "HeaderList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Name" + }, + "documentation": "\n Optional: A complex type that contains a Name element for each header that you want CloudFront \n to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the Headers, if any, that you want CloudFront to vary upon\n for this cache behavior.\n" + } + }, + "documentation": "\n A complex type that specifies how CloudFront handles query strings, cookies and headers.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "ViewerProtocolPolicy": { + "shape_name": "ViewerProtocolPolicy", + "type": "string", + "enum": [ + "allow-all", + "https-only", + "redirect-to-https" + ], + "documentation": "\n Use this element to specify the protocol that users can use to access the\n files in the origin specified by TargetOriginId when a request matches\n the path pattern in PathPattern. If you want CloudFront to allow end\n users to use any available protocol, specify allow-all. If you want\n CloudFront to require HTTPS, specify https. If you want CloudFront to \n respond to an HTTP request with an HTTP status code of 301 (Moved Permanently)\n and the HTTPS URL, specify redirect-to-https. The viewer then resubmits \n the request using the HTTPS URL.\n ", + "required": true + }, + "MinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time that you want objects to stay in CloudFront\n caches before CloudFront queries your origin to see whether the object\n has been updated.You can specify a value from 0 to 3,153,600,000\n seconds (100 years).\n ", + "required": true + }, + "AllowedMethods": { + "shape_name": "AllowedMethods", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n\tThe number of HTTP methods that you want CloudFront to forward to your origin. \n\tValid values are 2 (for GET and HEAD requests) and 7 (for DELETE, GET, HEAD, \n\tOPTIONS, PATCH, POST, and PUT requests).\n ", + "required": true + }, + "Items": { + "shape_name": "AllowedMethodsList", + "type": "list", + "members": { + "shape_name": "Method", + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ], + "documentation": null, + "xmlname": "Method" + }, + "documentation": "\n\tA complex type that contains the HTTP methods that you want \n\tCloudFront to process and forward to your origin. \n " + } + }, + "documentation": "\n\tA complex type that controls which HTTP methods CloudFront processes and \n\tforwards to your Amazon S3 bucket or your custom origin. There are two \n\toptions:\n\t- CloudFront forwards only GET and HEAD requests.\n\t- CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT\n\trequests.\n\tIf you choose the second option, you may need to restrict access to your \n\tAmazon S3 bucket or to your custom origin so users can't perform operations \n\tthat you don't want them to. For example, you may not want users to have \n\tpermission to delete objects from your origin.\n " + }, + "SmoothStreaming": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Indicates whether you want to distribute media files in Microsoft Smooth\n Streaming format using the origin that is associated with this cache behavior.\n If so, specify true; if not, specify false. \n " + } + }, + "documentation": "\n A complex type that describes how CloudFront processes requests.\n You can create up to 10 cache behaviors.You must create at least as\n many cache behaviors (including the default cache behavior) as you have\n origins if you want CloudFront to distribute objects from all of the origins.\n Each cache behavior specifies the one origin from which you want\n CloudFront to get objects. If you have two origins and only the default\n cache behavior, the default cache behavior will cause CloudFront to get\n objects from one of the origins, but the other origin will never be used.\n If you don't want to specify any cache behaviors, include only an empty\n CacheBehaviors element. Don't include an empty CacheBehavior\n element, or CloudFront returns a MalformedXML error.\n To delete all cache behaviors in an existing distribution, update the\n distribution configuration and include only an empty CacheBehaviors\n element.\n To add, change, or remove one or more cache behaviors, update the\n distribution configuration and specify all of the cache behaviors that you\n want to include in the updated distribution.\n ", + "xmlname": "CacheBehavior" + }, + "documentation": "\n Optional: A complex type that contains cache behaviors for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CacheBehavior elements.\n ", + "required": true + }, + "CustomErrorResponses": { + "shape_name": "CustomErrorResponses", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of custom error responses for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "CustomErrorResponseList", + "type": "list", + "members": { + "shape_name": "CustomErrorResponse", + "type": "structure", + "members": { + "ErrorCode": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The 4xx or 5xx HTTP status code that you want to customize. For a list of \n HTTP status codes that you can customize, see CloudFront documentation.\n ", + "required": true + }, + "ResponsePagePath": { + "shape_name": "string", + "type": "string", + "documentation": "\n The path of the custom error page (for example, /custom_404.html). The \n path is relative to the distribution and must begin with a slash (/). If\n the path includes any non-ASCII characters or unsafe characters as defined \n in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters.\n Do not URL encode any other characters in the path, or CloudFront will not \n return the custom error page to the viewer.\n " + }, + "ResponseCode": { + "shape_name": "string", + "type": "string", + "documentation": "\n The HTTP status code that you want CloudFront to return with the custom error \n page to the viewer. For a list of HTTP status codes that you can replace, see \n CloudFront Documentation.\n " + }, + "ErrorCachingMinTTL": { + "shape_name": "long", + "type": "long", + "documentation": "\n The minimum amount of time you want HTTP error codes to stay in CloudFront caches \n before CloudFront queries your origin to see whether the object has been updated.\n You can specify a value from 0 to 31,536,000. \n " + } + }, + "documentation": "\n A complex type that describes how you'd prefer CloudFront to respond to\n requests that result in either a 4xx or 5xx response. You can control \n whether a custom error page should be displayed, what the desired response\n code should be for this error page and how long should the error response\n be cached by CloudFront.\n If you don't want to specify any custom error responses, include only an \n empty CustomErrorResponses element. \n To delete all custom error responses in an existing distribution, update the\n distribution configuration and include only an empty CustomErrorResponses\n element.\n To add, change, or remove one or more custom error responses, update the\n distribution configuration and specify all of the custom error responses that\n you want to include in the updated distribution.\n ", + "xmlname": "CustomErrorResponse" + }, + "documentation": "\n Optional: A complex type that contains custom error responses for this\n distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains zero or more CustomErrorResponse elements.\n " + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "LoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a distribution or if\n you want to disable logging for an existing distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket, prefix and\n IncludeCookies, the values are automatically deleted.\n ", + "required": true + }, + "IncludeCookies": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to include cookies in access logs, specify true for\n IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless\n of how you configure the cache behaviors for this distribution.\n If you do not want to include cookies when you create a distribution or if you want to \n disable include cookies for an existing distribution, specify false for IncludeCookies.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the distribution is enabled to accept end user requests for content.\n ", + "required": true + }, + "ViewerCertificate": { + "shape_name": "ViewerCertificate", + "type": "structure", + "members": { + "IAMCertificateId": { + "shape_name": "string", + "type": "string", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using an\n alternate domain name in your object URLs (for example, https://example.com/logo.jpg), \n specify the IAM certificate identifier of the custom viewer certificate for this distribution. \n Specify either this value or CloudFrontDefaultCertificate. \n " + }, + "CloudFrontDefaultCertificate": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name \n of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg),\n set to true. Omit this value if you are setting an IAMCertificateId.\n " + }, + "SSLSupportMethod": { + "shape_name": "SSLSupportMethod", + "type": "string", + "enum": [ + "sni-only", + "vip" + ], + "documentation": "\n If you specify a value for IAMCertificateId, you must also specify how you want CloudFront \n to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses \n dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. \n However, you must request permission to use this feature, and you incur additional monthly \n charges. If you specify sni-only, CloudFront can only respond to HTTPS requests from \n viewers that support Server Name Indication (SNI). All modern browsers support SNI, \n but some browsers still in use don't support SNI. Do not specify a value for SSLSupportMethod if you \n specified true for CloudFrontDefaultCertificate.\n " + } + }, + "documentation": "\n A complex type that contains information about viewer certificates for this distribution.\n " + }, + "Restrictions": { + "shape_name": "Restrictions", + "type": "structure", + "members": { + "GeoRestriction": { + "shape_name": "GeoRestriction", + "type": "structure", + "members": { + "RestrictionType": { + "shape_name": "GeoRestrictionType", + "type": "string", + "enum": [ + "blacklist", + "whitelist", + "none" + ], + "documentation": "\n The method that you want to use to restrict distribution of your content by country:\n - none: No geo restriction is enabled, meaning access to content is not restricted\n by client geo location.\n - blacklist: The Location elements specify the countries in which you do not want \n CloudFront to distribute your content.\n - whitelist: The Location elements specify the countries in which you want CloudFront \n to distribute your content.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n When geo restriction is enabled, this is the number of countries in your whitelist \n or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.\n ", + "required": true + }, + "Items": { + "shape_name": "LocationList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "Location" + }, + "documentation": "\n A complex type that contains a Location element for each country in which you want \n CloudFront either to distribute your content (whitelist) or not distribute your \n content (blacklist). \n\n The Location element is a two-letter, uppercase country code for a country that \n you want to include in your blacklist or whitelist. Include one Location element \n for each country.\n\n CloudFront and MaxMind both use ISO 3166 country codes. For the current list of \n countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International \n Organization for Standardization website. You can also refer to the country list \n in the CloudFront console, which includes both country names and codes.\n " + } + }, + "documentation": "\n A complex type that controls the countries in which your content is distributed. \n For more information about geo restriction, go to Customizing Error Responses in \n the Amazon CloudFront Developer Guide.\n\n CloudFront determines the location of your users using MaxMind GeoIP databases. \n For information about the accuracy of these databases, see How accurate are \n your GeoIP databases? on the MaxMind website.\n ", + "required": true + } + }, + "documentation": "\n A complex type that identifies ways in which you want to restrict distribution \n of your content.\n " + } + }, + "documentation": "\n The current configuration information for the distribution.\n ", + "required": true + } + }, + "documentation": "\n The distribution's information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "CNAMEAlreadyExists", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "IllegalUpdate", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Origin and CallerReference cannot be updated.\n " + }, + { + "shape_name": "InvalidIfMatchVersion", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The If-Match version is missing or not valid for the distribution.\n " + }, + { + "shape_name": "MissingBody", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires a body. Ensure that the body is present and the Content-Type header is set.\n " + }, + { + "shape_name": "NoSuchDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified distribution does not exist.\n " + }, + { + "shape_name": "PreconditionFailed", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The precondition given in one or more of the request-header fields evaluated to false.\n " + }, + { + "shape_name": "TooManyDistributionCNAMEs", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains more CNAMEs than are allowed per distribution.\n " + }, + { + "shape_name": "InvalidDefaultRootObject", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The default root object file name is too big or contains an invalid character.\n " + }, + { + "shape_name": "InvalidRelativePath", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The relative path is too big, is not URL-encoded, or\n does not begin with a slash (/).\n " + }, + { + "shape_name": "InvalidErrorCode", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidResponseCode", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + }, + { + "shape_name": "InvalidOriginAccessIdentity", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The origin access identity is not valid or doesn't exist.\n " + }, + { + "shape_name": "TooManyTrustedSigners", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains more trusted signers than are allowed per distribution.\n " + }, + { + "shape_name": "TrustedSignerDoesNotExist", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n One or more of your trusted signers do not exist.\n " + }, + { + "shape_name": "InvalidViewerCertificate", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidRequiredProtocol", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.\n " + }, + { + "shape_name": "NoSuchOrigin", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n No origin exists with the specified Origin Id.\n " + }, + { + "shape_name": "TooManyOrigins", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n You cannot create anymore origins for the distribution. \n " + }, + { + "shape_name": "TooManyCacheBehaviors", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n You cannot create anymore cache behaviors for the distribution.\n " + }, + { + "shape_name": "TooManyCookieNamesInWhiteList", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains more cookie names in the whitelist than are allowed per cache behavior.\n " + }, + { + "shape_name": "InvalidForwardCookies", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains forward cookies option which doesn't match with the expectation for the whitelisted\n list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names\n is missing when expected.\n " + }, + { + "shape_name": "TooManyHeadersInForwardedValues", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidHeadersForS3Origin", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InconsistentQuantities", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The value of Quantity and the size of Items do not match.\n " + }, + { + "shape_name": "TooManyCertificates", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n You cannot create anymore custom ssl certificates.\n " + }, + { + "shape_name": "InvalidLocationCode", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidGeoRestrictionParameter", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + } + ], + "documentation": "\n Update a distribution.\n " + }, + "UpdateStreamingDistribution": { + "name": "UpdateStreamingDistribution2014_05_31", + "http": { + "uri": "/2014-05-31/streaming-distribution/{Id}/config", + "method": "PUT" + }, + "input": { + "shape_name": "UpdateStreamingDistributionRequest", + "type": "structure", + "members": { + "StreamingDistributionConfig": { + "shape_name": "StreamingDistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "S3Origin": { + "shape_name": "S3Origin", + "type": "structure", + "members": { + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The DNS name of the S3 origin.\n ", + "required": true + }, + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n Your S3 origin's origin access identity.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3\n bucket from which you want CloudFront to get your media files for\n distribution.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the streaming distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "StreamingLoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a streaming distribution or if\n you want to disable logging for an existing streaming distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket and\n Prefix, the values are automatically deleted.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this streaming distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the streaming distribution.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this streaming distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the streaming distribution is enabled to accept end user requests for content.\n ", + "required": true + } + }, + "documentation": "\n The streaming distribution's configuration information.\n ", + "required": true, + "payload": true + }, + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The streaming distribution's id.\n ", + "location": "uri", + "required": true + }, + "IfMatch": { + "shape_name": "string", + "type": "string", + "documentation": "\n The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "If-Match" + } + }, + "documentation": "\n The request to update a streaming distribution.\n " + }, + "output": { + "shape_name": "UpdateStreamingDistributionResult", + "type": "structure", + "members": { + "StreamingDistribution": { + "shape_name": "StreamingDistribution", + "type": "structure", + "members": { + "Id": { + "shape_name": "string", + "type": "string", + "documentation": "\n The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.\n ", + "required": true + }, + "Status": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current status of the streaming distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.\n ", + "required": true + }, + "LastModifiedTime": { + "shape_name": "timestamp", + "type": "timestamp", + "documentation": "\n The date and time the distribution was last modified.\n " + }, + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.\n ", + "required": true + }, + "ActiveTrustedSigners": { + "shape_name": "ActiveTrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Each active trusted signer.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of unique trusted signers included in all\n cache behaviors. For example, if three cache\n behaviors all list the same three AWS accounts, the\n value of Quantity for ActiveTrustedSigners will\n be 3.\n ", + "required": true + }, + "Items": { + "shape_name": "SignerList", + "type": "list", + "members": { + "shape_name": "Signer", + "type": "structure", + "members": { + "AwsAccountNumber": { + "shape_name": "string", + "type": "string", + "documentation": "\n Specifies an AWS account that can create signed URLs.\n Values: self, which indicates that the AWS account that was used to create\n the distribution can created signed URLs, or\n an AWS account number. Omit the dashes in the account number.\n " + }, + "KeyPairIds": { + "shape_name": "KeyPairIds", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of active CloudFront key pairs for\n AwsAccountNumber.\n ", + "required": true + }, + "Items": { + "shape_name": "KeyPairIdList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "KeyPairId" + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the active CloudFront key\n pairs, if any, that are associated with\n AwsAccountNumber.\n " + } + }, + "documentation": "\n A complex type that lists the AWS accounts that were\n included in the TrustedSigners complex type, as\n well as their active CloudFront key pair IDs, if any.\n ", + "xmlname": "Signer" + }, + "documentation": "\n A complex type that contains one Signer complex\n type for each unique trusted signer that is specified in\n the TrustedSigners complex type, including trusted\n signers in the default cache behavior and in all of the\n other cache behaviors.\n " + } + }, + "documentation": "\n CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs.\n The element lists the key pair IDs that CloudFront is aware of for each trusted signer.\n The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you).\n The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.\n ", + "required": true + }, + "StreamingDistributionConfig": { + "shape_name": "StreamingDistributionConfig", + "type": "structure", + "members": { + "CallerReference": { + "shape_name": "string", + "type": "string", + "documentation": "\n A unique number that ensures the request can't be replayed.\n If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space),\n the response includes the same information returned to the original request.\n If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request,\n CloudFront returns a DistributionAlreadyExists error.\n ", + "required": true + }, + "S3Origin": { + "shape_name": "S3Origin", + "type": "structure", + "members": { + "DomainName": { + "shape_name": "string", + "type": "string", + "documentation": "\n The DNS name of the S3 origin.\n ", + "required": true + }, + "OriginAccessIdentity": { + "shape_name": "string", + "type": "string", + "documentation": "\n Your S3 origin's origin access identity.\n ", + "required": true + } + }, + "documentation": "\n A complex type that contains information about the Amazon S3\n bucket from which you want CloudFront to get your media files for\n distribution.\n ", + "required": true + }, + "Aliases": { + "shape_name": "Aliases", + "type": "structure", + "members": { + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of CNAMEs, if any, for this distribution.\n ", + "required": true + }, + "Items": { + "shape_name": "AliasList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "CNAME" + }, + "documentation": "\n Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.\n ", + "required": true + }, + "Comment": { + "shape_name": "string", + "type": "string", + "documentation": "\n Any comments you want to include about the streaming distribution.\n ", + "required": true + }, + "Logging": { + "shape_name": "StreamingLoggingConfig", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want CloudFront to save access logs to an Amazon\n S3 bucket.\n If you do not want to enable logging when you create a streaming distribution or if\n you want to disable logging for an existing streaming distribution, specify false for\n Enabled, and specify empty Bucket and Prefix elements.\n If you specify false for Enabled but you specify values for Bucket and\n Prefix, the values are automatically deleted.\n ", + "required": true + }, + "Bucket": { + "shape_name": "string", + "type": "string", + "documentation": "\n The Amazon S3 bucket to store the access logs in, for example,\n myawslogbucket.s3.amazonaws.com.\n ", + "required": true + }, + "Prefix": { + "shape_name": "string", + "type": "string", + "documentation": "\n An optional string that you want CloudFront to prefix to the access log\n filenames for this streaming distribution, for example, myprefix/.\n If you want to enable logging, but you do not want to specify a prefix, you\n still must include an empty Prefix element in the Logging element.\n ", + "required": true + } + }, + "documentation": "\n A complex type that controls whether access logs are written for the streaming distribution.\n ", + "required": true + }, + "TrustedSigners": { + "shape_name": "TrustedSigners", + "type": "structure", + "members": { + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Specifies whether you want to require end users to use signed URLs to\n access the files specified by PathPattern and TargetOriginId.\n ", + "required": true + }, + "Quantity": { + "shape_name": "integer", + "type": "integer", + "documentation": "\n The number of trusted signers for this cache behavior.\n ", + "required": true + }, + "Items": { + "shape_name": "AwsAccountNumberList", + "type": "list", + "members": { + "shape_name": "string", + "type": "string", + "documentation": null, + "xmlname": "AwsAccountNumber" + }, + "documentation": "\n Optional: A complex type that contains trusted signers for this cache\n behavior. If Quantity is 0, you can omit Items.\n " + } + }, + "documentation": "\n A complex type that specifies the AWS accounts, if any, that you want\n to allow to create signed URLs for private content.\n If you want to require signed URLs in requests for objects in the target\n origin that match the PathPattern for this cache behavior, specify true\n for Enabled, and specify the applicable values for Quantity and Items.\n For more information, go to Using a Signed URL to Serve Private Content\n in the Amazon CloudFront Developer Guide.\n If you don't want to require signed URLs in requests for objects that match\n PathPattern, specify false for Enabled and 0 for Quantity. Omit\n Items.\n To add, change, or remove one or more trusted signers, change Enabled\n to true (if it's currently false), change Quantity as applicable, and\n specify all of the trusted signers that you want to include in the updated\n distribution.\n ", + "required": true + }, + "PriceClass": { + "shape_name": "PriceClass", + "type": "string", + "enum": [ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ], + "documentation": "\n A complex type that contains information about price class for this streaming distribution.\n ", + "required": true + }, + "Enabled": { + "shape_name": "boolean", + "type": "boolean", + "documentation": "\n Whether the streaming distribution is enabled to accept end user requests for content.\n ", + "required": true + } + }, + "documentation": "\n The current configuration information for the streaming distribution.\n ", + "required": true + } + }, + "documentation": "\n The streaming distribution's information.\n ", + "payload": true + }, + "ETag": { + "shape_name": "string", + "type": "string", + "documentation": "\n The current version of the configuration. For example: E2QWRUHAPOMQZL.\n ", + "location": "header", + "location_name": "ETag" + } + }, + "documentation": "\n The returned result of the corresponding request.\n " + }, + "errors": [ + { + "shape_name": "AccessDenied", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Access denied.\n " + }, + { + "shape_name": "CNAMEAlreadyExists", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "IllegalUpdate", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Origin and CallerReference cannot be updated.\n " + }, + { + "shape_name": "InvalidIfMatchVersion", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The If-Match version is missing or not valid for the distribution.\n " + }, + { + "shape_name": "MissingBody", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n This operation requires a body. Ensure that the body is present and the Content-Type header is set.\n " + }, + { + "shape_name": "NoSuchStreamingDistribution", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The specified streaming distribution does not exist.\n " + }, + { + "shape_name": "PreconditionFailed", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The precondition given in one or more of the request-header fields evaluated to false.\n " + }, + { + "shape_name": "TooManyStreamingDistributionCNAMEs", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": null + }, + { + "shape_name": "InvalidArgument", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The argument is invalid.\n " + }, + { + "shape_name": "InvalidOriginAccessIdentity", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The origin access identity is not valid or doesn't exist.\n " + }, + { + "shape_name": "TooManyTrustedSigners", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n Your request contains more trusted signers than are allowed per distribution.\n " + }, + { + "shape_name": "TrustedSignerDoesNotExist", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n One or more of your trusted signers do not exist.\n " + }, + { + "shape_name": "InconsistentQuantities", + "type": "structure", + "members": { + "Message": { + "shape_name": "string", + "type": "string", + "documentation": null + } + }, + "documentation": "\n The value of Quantity and the size of Items do not match.\n " + } + ], + "documentation": "\n Update a streaming distribution.\n " + } + }, + "pagination": { + "ListCloudFrontOriginAccessIdentities": { + "input_token": [ + "Marker" + ], + "limit_key": "MaxItems", + "more_results": "IsTruncated", + "output_token": [ + "NextMarker" + ], + "result_key": "CloudFrontOriginAccessIdentityList", + "py_input_token": [ + "marker" + ] + }, + "ListDistributions": { + "input_token": [ + "Marker" + ], + "limit_key": "MaxItems", + "more_results": "IsTruncated", + "output_token": [ + "NextMarker" + ], + "result_key": "DistributionList", + "py_input_token": [ + "marker" + ] + }, + "ListInvalidations": { + "input_token": [ + "Marker" + ], + "limit_key": "MaxItems", + "more_results": "IsTruncated", + "output_token": [ + "NextMarker" + ], + "result_key": "InvalidationList", + "py_input_token": [ + "marker" + ] + }, + "ListStreamingDistributions": { + "input_token": [ + "Marker" + ], + "limit_key": "MaxItems", + "more_results": "IsTruncated", + "output_token": [ + "NextMarker" + ], + "result_key": "StreamingDistributionList", + "py_input_token": [ + "marker" + ] + } + }, + "retry": { + "__default__": { + "max_attempts": 5, + "delay": { + "type": "exponential", + "base": "rand", + "growth_factor": 2 + }, + "policies": { + "general_socket_errors": { + "applies_when": { + "socket_errors": [ + "GENERAL_CONNECTION_ERROR" + ] + } + }, + "general_server_error": { + "applies_when": { + "response": { + "http_status_code": 500 + } + } + }, + "service_unavailable": { + "applies_when": { + "response": { + "http_status_code": 503 + } + } + }, + "limit_exceeded": { + "applies_when": { + "response": { + "http_status_code": 509 + } + } + } + } + } + } +} \ No newline at end of file diff --git a/botocore/data/aws/cloudsearchdomain/2013-01-01.json b/botocore/data/aws/cloudsearchdomain/2013-01-01.json new file mode 100644 index 00000000..d2f61b8e --- /dev/null +++ b/botocore/data/aws/cloudsearchdomain/2013-01-01.json @@ -0,0 +1,512 @@ +{ + "api_version": "2013-01-01", + "type": "rest-json", + "service_full_name": "Amazon CloudSearchDomain", + "jsonVersion": "1.1", + "endpoint_prefix": "cloudsearchdomain", + "xmlnamespace": "http://cloudsearch.amazonaws.com/doc/2013-01-01/", + "documentation": "\n

You use the AmazonCloudSearch2013 API to upload documents to a search domain and search those documents.

\n \n

The endpoints for submitting UploadDocuments, Search, and Suggest requests are domain-specific. To get the endpoints for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. The domain endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console. You submit suggest requests to the search endpoint.

\n

For more information, see the Amazon CloudSearch Developer Guide.

\n ", + "operations": { + "Search": { + "name": "Search", + "http": { + "uri": "/2013-01-01/search?format=sdk&pretty=true&cursor={cursor}&expr={expr}&facet={facet}&fq={filterQuery}&highlight={highlight}&partial={partial}&q={query}&q.options={queryOptions}&q.parser={queryParser}&return={return}&size={size}&sort={sort}&start={start}", + "method": "GET" + }, + "input": { + "shape_name": "SearchRequest", + "type": "structure", + "members": { + "cursor": { + "shape_name": "Cursor", + "type": "string", + "documentation": "\n

Retrieves a cursor value you can use to page through large result sets. \n Use the size parameter to control the number of hits to include in each response. You can specify either the cursor or\n start parameter in a request; they are mutually exclusive. To get the first cursor, set the cursor value to initial. In subsequent requests, specify the cursor value returned in the hits section of the response.

\n

For more\n information, see Paginating Results in the Amazon CloudSearch Developer Guide.

\n ", + "location": "uri" + }, + "expr": { + "shape_name": "Expr", + "type": "string", + "documentation": "\n

Defines one or more numeric expressions that can be used to sort results or specify search or filter\n criteria. You can also specify expressions as return fields.

\n

For more\n information about defining and using expressions, see Configuring Expressions\n in the Amazon CloudSearch Developer Guide.

\n \n \n \n Defining Multiple Expressions\n You can define and use multiple expressions in a search request.\n \n {\"expression1\":\"_score*rating\", \"expression2\":\"(1/rank)*year\"}\n \n \n \n \n \n \n ", + "location": "uri" + }, + "facet": { + "shape_name": "Facet", + "type": "string", + "documentation": "\n

Specifies one or more fields for which to get facet information, and options that control how the facet information is returned. Each specified field must be facet-enabled in the domain configuration. The fields and options are specified in JSON using the form {\"FIELD\":{\"OPTION\":VALUE,\"OPTION:\"STRING\"},\"FIELD\":{\"OPTION\":VALUE,\"OPTION\":\"STRING\"}}.

\n

You can specify the following faceting options:

\n \n

If no facet options are specified, facet counts are computed for all field values, the facets are sorted by facet count, and the top 10 facets are returned in the results.

\n

For more\n information, see Getting and Using Facet Information\n in the Amazon CloudSearch Developer Guide.

\n \n \n Counting Particular Buckets of Values\n This request uses the buckets option to calculate and return facet counts by decade.\n \n {\"year\":{\"buckets\":[\"[1970,1979]\",\"[1980,1989]\",\"[1990,1999]\",\"[2000,2009]\",\"[2010,}\"]}} \n \n \n \n \n Sorting Facets By Facet Count\n This request sets the sort option to count to sort the facet values by facet count, with the facet\n values that have the most matching documents listed first. Setting the size option to 3 returns only the top three facet values.\n \n {\"year\":{\"sort\":\"count\",\"size\":3}}\n \n \n \n \n Sorting Facets By Value\n This request sets the sort option to bucket to sort the facet values numerically by year, with earliest year listed first. \n \n {\"year\":{\"sort\":\"bucket\"}}\n \n \n \n \n \n ", + "location": "uri" + }, + "filterQuery": { + "shape_name": "FilterQuery", + "type": "string", + "documentation": "\n

Specifies a structured query that filters the results of a search without affecting how the results are scored and sorted. You use filterQuery in conjunction with the query parameter to filter the documents that match the constraints specified in the query parameter. Specifying a filter controls only which matching documents are included in the results, it has no effect on how they are scored and sorted. The filterQuery parameter supports the full structured query syntax.

\n

For more information about using filters, see Filtering Matching Documents\n in the Amazon CloudSearch Developer Guide.

\n ", + "location": "uri" + }, + "highlight": { + "shape_name": "Highlight", + "type": "string", + "documentation": "\n

Retrieves highlights for matches in the specified text or\n text-array fields. Each specified field must be highlight enabled in the domain configuration. The fields and options are specified in JSON using the form {\"FIELD\":{\"OPTION\":VALUE,\"OPTION:\"STRING\"},\"FIELD\":{\"OPTION\":VALUE,\"OPTION\":\"STRING\"}}.

\n

You can specify the following highlight options:

\n \n

If no highlight options are specified for a field, the returned field text is treated as HTML and the first match is\n highlighted with emphasis tags: <em>search-term</em>.

\n \n \n Setting Highlight Options\n This example retrieves highlights for the actors and title fields.\n {\n \"actors\": {},\n \"title\": {\"format\": \"text\",\"max_phrases\": 2,\"pre_tag\": \"\",\"post_tag\": \"\"}\n }\n \n \n \n ", + "location": "uri" + }, + "partial": { + "shape_name": "Partial", + "type": "boolean", + "documentation": "\n

Enables partial results to be returned if one or more index partitions are unavailable. When your search index is partitioned across multiple search instances, by default Amazon CloudSearch only returns results if every partition can be queried. This means that the failure of a single search instance can result in 5xx (internal server) errors. When you enable partial results, Amazon CloudSearch returns whatever results are available and includes the percentage of documents searched in the search results (percent-searched). This enables you to more gracefully degrade your users' search experience. For example, rather than displaying no results, you could display the partial results and a message indicating that the results might be incomplete due to a temporary system outage.

\n ", + "location": "uri" + }, + "query": { + "shape_name": "Query", + "type": "string", + "documentation": "\n

Specifies the search criteria for the request. How you specify the search\n criteria depends on the query parser used for the request and the parser options\n specified in the queryOptions parameter. By default,\n the simple query parser is used to process requests. To use\n the structured, lucene, or dismax query parser, \n you must also specify the queryParser parameter.

\n

For more information about specifying search criteria, see Searching Your Data in the Amazon CloudSearch Developer Guide.

\n \n ", + "required": true, + "location": "uri" + }, + "queryOptions": { + "shape_name": "QueryOptions", + "type": "string", + "documentation": "\n

Configures options for the query parser specified in the queryParser parameter.

\n \n

The options you can configure vary according to which parser you use:

\n \n \n \n Setting Default Search Fields\n This example searches the title and plot fields if no fields are specified in the search criteria.\n {\"fields\":[\"title\",\"plot\"]}\n \n \n \n ", + "location": "uri" + }, + "queryParser": { + "shape_name": "QueryParser", + "type": "string", + "enum": [ + "simple", + "structured", + "lucene", + "dismax" + ], + "documentation": "\n

Specifies which\n query parser to use to process the request. If queryParser is not specified, Amazon CloudSearch\n uses the simple query parser.

\n

Amazon CloudSearch supports four query parsers:

\n \n ", + "location": "uri" + }, + "return": { + "shape_name": "Return", + "type": "string", + "documentation": "\n

Specifies the field and expression values to include in the response. Multiple fields or expressions are specified as a comma-separated list. By default, a search response includes all\n return enabled fields (_all_fields). \n To return only the document IDs for the matching documents, \n specify _no_fields.\n To retrieve the relevance score calculated for each document, \n specify _score.

\n ", + "location": "uri" + }, + "size": { + "shape_name": "Size", + "type": "long", + "documentation": "\n

Specifies the maximum number of search hits to include in the response.

\n ", + "location": "uri" + }, + "sort": { + "shape_name": "Sort", + "type": "string", + "documentation": "\n

Specifies the fields or custom expressions to use to sort the search\n results. Multiple fields or expressions are specified as a comma-separated list.\n You must specify the sort direction (asc or\n desc) for each field; for example, year\n desc,title asc. To use a field to sort results, the field must be sort-enabled in\n the domain configuration. Array type fields cannot be used for sorting.\n If no sort parameter is specified, results are sorted by\n their default relevance scores in descending order: _score\n desc. You can also sort by document ID\n (_id asc) and version (_version desc).

\n

For more information, see Sorting Results in the Amazon CloudSearch Developer Guide.

\n ", + "location": "uri" + }, + "start": { + "shape_name": "Start", + "type": "long", + "documentation": "\n

Specifies the offset of the first search hit you want to return. Note that the result set is zero-based; the first result is at index 0. You can specify either the start or cursor parameter in a request, they are mutually exclusive.

\n

For more information, see Paginating Results in the Amazon CloudSearch Developer Guide.

\n ", + "location": "uri" + } + }, + "documentation": "\n

Container for the parameters to the Search request.

\n " + }, + "output": { + "shape_name": "SearchResponse", + "type": "structure", + "members": { + "status": { + "shape_name": "SearchStatus", + "type": "structure", + "members": { + "timems": { + "shape_name": "Long", + "type": "long", + "documentation": "\n

How long it took to process the request, in milliseconds.

\n " + }, + "rid": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The encrypted resource ID for the request.

\n " + } + }, + "documentation": "\n

The status information returned for the search request.

\n " + }, + "hits": { + "shape_name": "Hits", + "type": "structure", + "members": { + "found": { + "shape_name": "Long", + "type": "long", + "documentation": "\n

The total number of documents that match the search request.

\n " + }, + "start": { + "shape_name": "Long", + "type": "long", + "documentation": "\n

The index of the first matching document.

\n " + }, + "cursor": { + "shape_name": "String", + "type": "string", + "documentation": "\n

A cursor that can be used to retrieve the next set of matching documents when you want to page through a large result set.

\n " + }, + "hit": { + "shape_name": "HitList", + "type": "list", + "members": { + "shape_name": "Hit", + "type": "structure", + "members": { + "id": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The document ID of a document that matches the search request.

\n " + }, + "fields": { + "shape_name": "Fields", + "type": "map", + "keys": { + "shape_name": "String", + "type": "string", + "documentation": null + }, + "members": { + "shape_name": "FieldValue", + "type": "list", + "members": { + "shape_name": "String", + "type": "string", + "documentation": null + }, + "documentation": null + }, + "documentation": "\n

The fields returned from a document that matches the search request.

\n " + }, + "highlights": { + "shape_name": "Highlights", + "type": "map", + "keys": { + "shape_name": "String", + "type": "string", + "documentation": null + }, + "members": { + "shape_name": "String", + "type": "string", + "documentation": null + }, + "documentation": "\n

The highlights returned from a document that matches the search request.

\n " + } + }, + "documentation": "\n

Information about a document that matches the search request.

\n " + }, + "documentation": "\n

A document that matches the search request.

\n " + } + }, + "documentation": "\n

The documents that match the search criteria.

\n " + }, + "facets": { + "shape_name": "Facets", + "type": "map", + "keys": { + "shape_name": "String", + "type": "string", + "documentation": null + }, + "members": { + "shape_name": "BucketInfo", + "type": "structure", + "members": { + "buckets": { + "shape_name": "BucketList", + "type": "list", + "members": { + "shape_name": "Bucket", + "type": "structure", + "members": { + "value": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The facet value being counted.

\n " + }, + "count": { + "shape_name": "Long", + "type": "long", + "documentation": "\n

The number of hits that contain the facet value in the specified facet field.

\n " + } + }, + "documentation": "\n

A container for facet information.

\n " + }, + "documentation": "\n

A list of the calculated facet values and counts.

\n " + } + }, + "documentation": "\n

A container for the calculated facet values and counts.

\n " + }, + "documentation": "\n

The requested facet information.

\n " + } + }, + "documentation": "\n

The result of a Search request. Contains the documents that match the specified search criteria and any requested fields, highlights, and facet information.

\n " + }, + "errors": [ + { + "shape_name": "SearchException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

A description of the error returned by the search service.

\n " + } + }, + "documentation": "\n

Information about any problems encountered while processing a search request.

\n " + } + ], + "documentation": "\n

Retrieves a list of documents that match the specified search criteria. How you specify the search criteria depends on which query parser you use. Amazon CloudSearch supports four query parsers:

\n \n

For more information, see Searching Your Data in the Amazon CloudSearch Developer Guide.

\n

The endpoint for submitting Search requests is domain-specific. You submit search requests to a domain's search endpoint. To get the search endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console.

\n \n " + }, + "Suggest": { + "name": "Suggest", + "http": { + "uri": "/2013-01-01/suggest?format=sdk&pretty=true&q={query}&suggester={suggester}&size={size}", + "method": "GET" + }, + "input": { + "shape_name": "SuggestRequest", + "type": "structure", + "members": { + "query": { + "shape_name": "Query", + "type": "string", + "documentation": "\n

Specifies the string for which you want to get suggestions.

\n ", + "required": true, + "location": "uri" + }, + "suggester": { + "shape_name": "Suggester", + "type": "string", + "documentation": "\n

Specifies the name of the suggester to use to find suggested matches.

\n ", + "required": true, + "location": "uri" + }, + "size": { + "shape_name": "SuggestionsSize", + "type": "long", + "documentation": "\n

Specifies the maximum number of suggestions to return.

\n ", + "location": "uri" + } + }, + "documentation": "\n

Container for the parameters to the Suggest request.

\n " + }, + "output": { + "shape_name": "SuggestResponse", + "type": "structure", + "members": { + "status": { + "shape_name": "SuggestStatus", + "type": "structure", + "members": { + "timems": { + "shape_name": "Long", + "type": "long", + "documentation": "\n

How long it took to process the request, in milliseconds.

\n " + }, + "rid": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The encrypted resource ID for the request.

\n " + } + }, + "documentation": "\n

The status of a SuggestRequest. Contains the resource ID (rid) and how long it took to process the request (timems).

\n " + }, + "suggest": { + "shape_name": "SuggestModel", + "type": "structure", + "members": { + "query": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The query string specified in the suggest request.

\n " + }, + "found": { + "shape_name": "Long", + "type": "long", + "documentation": "\n

The number of documents that were found to match the query string.

\n " + }, + "suggestions": { + "shape_name": "Suggestions", + "type": "list", + "members": { + "shape_name": "SuggestionMatch", + "type": "structure", + "members": { + "suggestion": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The string that matches the query string specified in the SuggestRequest.

\n " + }, + "score": { + "shape_name": "Long", + "type": "long", + "documentation": "\n

The relevance score of a suggested match.

\n " + }, + "id": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The document ID of the suggested document.

\n " + } + }, + "documentation": "\n

An autocomplete suggestion that matches the query string specified in a SuggestRequest.

\n " + }, + "documentation": "\n

The documents that match the query string.

\n " + } + }, + "documentation": "\n

Container for the matching search suggestion information.

\n " + } + }, + "documentation": "\n

Contains the response to a Suggest request.

\n " + }, + "errors": [ + { + "shape_name": "SearchException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

A description of the error returned by the search service.

\n " + } + }, + "documentation": "\n

Information about any problems encountered while processing a search request.

\n " + } + ], + "documentation": "\n

Retrieves autocomplete suggestions for a partial query string. You can use suggestions enable you to display likely matches before users finish typing. In Amazon CloudSearch, suggestions are based on the contents of a particular text field. When you request suggestions, Amazon CloudSearch finds all of the documents whose values in the suggester field start with the specified query string. The beginning of the field must match the query string to be considered a match.

\n

For more information about configuring suggesters and retrieving suggestions, see Getting Suggestions in the Amazon CloudSearch Developer Guide.

\n \n

The endpoint for submitting Suggest requests is domain-specific. You submit suggest requests to a domain's search endpoint. To get the search endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console.

\n \n \n " + }, + "UploadDocuments": { + "name": "UploadDocuments", + "http": { + "uri": "/2013-01-01/documents/batch?format=sdk", + "method": "POST" + }, + "input": { + "shape_name": "UploadDocumentsRequest", + "type": "structure", + "members": { + "documents": { + "shape_name": "Blob", + "type": "blob", + "streaming": true, + "documentation": "\n

A batch of documents formatted in JSON or HTML.

\n ", + "required": true, + "payload": true + }, + "contentType": { + "shape_name": "ContentType", + "type": "string", + "enum": [ + "application/json", + "application/xml" + ], + "documentation": "\n

The format of the batch you are uploading. Amazon CloudSearch supports two document batch formats:

\n \n ", + "required": true, + "location": "header", + "location_name": "Content-Type" + } + }, + "documentation": "\n

Container for the parameters to the UploadDocuments request.

\n " + }, + "output": { + "shape_name": "UploadDocumentsResponse", + "type": "structure", + "members": { + "status": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The status of an UploadDocumentsRequest.

\n " + }, + "adds": { + "shape_name": "Adds", + "type": "long", + "documentation": "\n

The number of documents that were added to the search domain.

\n " + }, + "deletes": { + "shape_name": "Deletes", + "type": "long", + "documentation": "\n

The number of documents that were deleted from the search domain.

\n " + }, + "warnings": { + "shape_name": "DocumentServiceWarnings", + "type": "list", + "members": { + "shape_name": "DocumentServiceWarning", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The description for a warning returned by the document service.

\n " + } + }, + "documentation": "\n

A warning returned by the document service when an issue is discovered while processing an upload request.

\n " + }, + "documentation": "\n

Any warnings returned by the document service about the documents being uploaded.

\n " + } + }, + "documentation": "\n

Contains the response to an UploadDocuments request.

\n " + }, + "errors": [ + { + "shape_name": "DocumentServiceException", + "type": "structure", + "members": { + "status": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The return status of a document upload request, error or success.

\n " + }, + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The description of the errors returned by the document service.

\n " + } + }, + "documentation": "\n

Information about any problems encountered while processing an upload request.

\n " + } + ], + "documentation": "\n

Posts a batch of documents to a search domain for indexing. A document batch is a collection of add and delete operations that represent the documents you want to add, update, or delete from your domain. Batches can be described in either JSON or XML. Each item that you want Amazon CloudSearch to return as a search result (such as a product) is represented as a document. Every document has a unique ID and one or more fields that contain the data that you want to search and return in results. Individual documents cannot contain more than 1 MB of data. The entire batch cannot exceed 5 MB. To get the best possible upload performance, group add and delete operations in batches that are close the 5 MB limit. Submitting a large volume of single-document batches can overload a domain's document service.

\n

The endpoint for submitting UploadDocuments requests is domain-specific. To get the document endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console.

\n

For more information about formatting your data for Amazon CloudSearch, see Preparing Your Data in the Amazon CloudSearch Developer Guide. \n For more information about uploading data for indexing, see Uploading Data in the Amazon CloudSearch Developer Guide.

\n " + } + }, + "retry": { + "__default__": { + "max_attempts": 5, + "delay": { + "type": "exponential", + "base": "rand", + "growth_factor": 2 + }, + "policies": { + "general_socket_errors": { + "applies_when": { + "socket_errors": [ + "GENERAL_CONNECTION_ERROR" + ] + } + }, + "general_server_error": { + "applies_when": { + "response": { + "http_status_code": 500 + } + } + }, + "service_unavailable": { + "applies_when": { + "response": { + "http_status_code": 503 + } + } + }, + "limit_exceeded": { + "applies_when": { + "response": { + "http_status_code": 509 + } + } + } + } + } + } +} \ No newline at end of file diff --git a/botocore/data/aws/ec2/2014-05-01.json b/botocore/data/aws/ec2/2014-05-01.json index aa0dba83..5aea5bb8 100644 --- a/botocore/data/aws/ec2/2014-05-01.json +++ b/botocore/data/aws/ec2/2014-05-01.json @@ -1978,14 +1978,15 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], "documentation": "\n

The volume type.

\n

Default: standard

\n " }, "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with standard volumes.

\n " + "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with\n standard or gp2 volumes.

\n " }, "Encrypted": { "shape_name": "Boolean", @@ -3972,7 +3973,7 @@ }, "output": null, "errors": [], - "documentation": "\n

Adds or overwrites one or more tags for the specified EC2 resource or resources.\n Each resource can have a maximum of 10 tags. Each tag consists of a key and optional\n value. Tag keys must be unique per resource.

\n

For more information about tags, see Tagging\n Your Resources in the Amazon Elastic Compute Cloud User Guide.

\n \n \n Example\n This example request adds (or overwrites) two tags for an AMI and an instance. One\n of the tags is just a key (webserver), with no value (we set the value to an empty\n string). The other tag consists of a key (stack) and value\n (Production).\n https://ec2.amazonaws.com/?Action=CreateTags\n&ResourceId.1=ami-1a2b3c4d\n&ResourceId.2=i-7f4d3a2b\n&Tag.1.Key=webserver\n&Tag.1.Value=\n&Tag.2.Key=stack\n&Tag.2.Value=Production\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n true\n\n \n \n " + "documentation": "\n

Adds or overwrites one or more tags for the specified EC2 resource or resources.\n Each resource can have a maximum of 10 tags. Each tag consists of a key and optional\n value. Tag keys must be unique per resource.

\n

For more information about tags, see Tagging\n Your Resources in the Amazon Elastic Compute Cloud User Guide.

\n \n \n Example\n This example request adds (or overwrites) two tags for an AMI and an instance. One\n of the tags is just a key (webserver), with no value (we set the value to an empty\n string). The other tag consists of a key (stack) and value\n (Production).\n https://ec2.amazonaws.com/?Action=CreateTags\n&ResourceId.1=ami-1a2b3c4d\n&ResourceId.2=i-7f4d3a2b\n&Tag.1.Key=webserver\n&Tag.1.Value=\n&Tag.2.Key=stack\n&Tag.2.Value=Production\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n true\n\n \n \n " }, "CreateVolume": { "name": "CreateVolume", @@ -4006,14 +4007,15 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], - "documentation": "\n

The volume type. This can be standard for standard EBS volumes or io1\n for Provisioned IOPS volumes.

\n

Default: standard

\n " + "documentation": "\n

The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for\n Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.

\n

Default: standard

\n " }, "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the volume supports. This parameter is not\n used with standard volumes, but is required when the volume type is io1.

\n " + "documentation": "\n

The number of I/O operations per second (IOPS) that the volume supports. This parameter is not\n used with Magnetic or General Purpose (SSD) volumes, but is required when the volume type is\n io1.

\n " }, "Encrypted": { "shape_name": "Boolean", @@ -4158,9 +4160,10 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], - "documentation": "\n

The volume type. This can be standard for standard EBS volumes or io1\n for Provisioned IOPS volumes.

\n ", + "documentation": "\n

The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for\n Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.

\n ", "xmlname": "volumeType" }, "Iops": { @@ -5259,7 +5262,7 @@ }, "output": null, "errors": [], - "documentation": "\n

Deletes the specified set of tags from the specified set of resources. This call is designed\n to follow a DescribeTags request.

\n

For more information about tags, see Tagging\n Your Resources in the Amazon Elastic Compute Cloud User Guide.

\n \n \n Example\n This example deletes the tags for the AMI with the ID ami-1a2b3c4d.\n First, get a list of the tags by using the DescribeTags request, then delete\n them.\n https://ec2.amazonaws.com/?Action=DeleteTags\n&ResourceId.1=ami-1a2b3c4d\n&Tag.1.Key=webserver\n&Tag.2.Key=stack\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n true\n\n \n \n Example\n This example deletes the stack and webserver tags for two\n particular instances.\n https://ec2.amazonaws.com/?Action=DeleteTags\n&ResourceId.1=i-5f4e3d2a\n&ResourceId.2=i-5f4e3d2a\n&Tag.1.Key=stack\n&Tag.2.Key=webserver\n&AUTHPARAMS\n \n \n Example\n You can specify a tag key without a corresponding tag value to delete the tag\n regardless of its value. This example request deletes all tags that have a key of\n Purpose, regardless of the tag value.\n https://ec2.amazonaws.com/?Action=DeleteTags\n&ResourceId.1=i-5f4e3d2a\n&Tag.1.Key=Purpose\n&AUTHPARAMS\n \n \n Example\n When you create a tag, you can set the tag value to the empty\n string. Correspondingly, you can delete only tags that have a specific key and whose value is\n the empty string. This example request deletes all tags for the specified instance where the\n key is Purpose and the tag value is the empty string.\n https://ec2.amazonaws.com/?Action=DeleteTags\n&ResourceId.1=i-5f4e3d2a\n&Tag.1.Key=Purpose\n&Tag.2.Value=\n&AUTHPARAMS\n \n \n " + "documentation": "\n

Deletes the specified set of tags from the specified set of resources. This call is designed\n to follow a DescribeTags request.

\n

For more information about tags, see Tagging\n Your Resources in the Amazon Elastic Compute Cloud User Guide.

\n \n \n Example\n This example deletes the tags for the AMI with the ID ami-1a2b3c4d.\n First, get a list of the tags by using the DescribeTags request, then delete\n them.\n https://ec2.amazonaws.com/?Action=DeleteTags\n&ResourceId.1=ami-1a2b3c4d\n&Tag.1.Key=webserver\n&Tag.2.Key=stack\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n true\n\n \n \n Example\n This example deletes the stack and webserver tags for two\n particular instances.\n https://ec2.amazonaws.com/?Action=DeleteTags\n&ResourceId.1=i-5f4e3d2a\n&ResourceId.2=i-5f4e3d2a\n&Tag.1.Key=stack\n&Tag.2.Key=webserver\n&AUTHPARAMS\n \n \n Example\n You can specify a tag key without a corresponding tag value to delete the tag\n regardless of its value. This example request deletes all tags that have a key of\n Purpose, regardless of the tag value.\n https://ec2.amazonaws.com/?Action=DeleteTags\n&ResourceId.1=i-5f4e3d2a\n&Tag.1.Key=Purpose\n&AUTHPARAMS\n \n \n Example\n When you create a tag, you can set the tag value to the empty\n string. Correspondingly, you can delete only tags that have a specific key and whose value is\n the empty string. This example request deletes all tags for the specified instance where the\n key is Purpose and the tag value is the empty string.\n https://ec2.amazonaws.com/?Action=DeleteTags\n&ResourceId.1=i-5f4e3d2a\n&Tag.1.Key=Purpose\n&Tag.2.Value=\n&AUTHPARAMS\n \n \n " }, "DeleteVolume": { "name": "DeleteVolume", @@ -6975,7 +6978,8 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], "documentation": "\n

The volume type.

\n

Default: standard

\n ", "xmlname": "volumeType" @@ -6983,7 +6987,7 @@ "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with standard volumes.

\n ", + "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with\n standard or gp2 volumes.

\n ", "xmlname": "iops" }, "Encrypted": { @@ -7091,7 +7095,7 @@ "documentation": "\n ", "xmlname": "Filter" }, - "documentation": "\n

One or more filters.

\n \n ", + "documentation": "\n

One or more filters.

\n \n ", "flattened": true } }, @@ -7320,7 +7324,8 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], "documentation": "\n

The volume type.

\n

Default: standard

\n ", "xmlname": "volumeType" @@ -7328,7 +7333,7 @@ "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with standard volumes.

\n ", + "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with\n standard or gp2 volumes.

\n ", "xmlname": "iops" }, "Encrypted": { @@ -7689,7 +7694,7 @@ "xmlname": "value" } }, - "documentation": " \n ", + "documentation": "\n

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled.\n This value must be false for a NAT instance to perform NAT.

\n ", "xmlname": "sourceDestCheck" } }, @@ -8254,6 +8259,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -10209,6 +10217,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -10765,6 +10776,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -10903,6 +10917,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -11061,6 +11078,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -12241,7 +12261,7 @@ "documentation": "\n ", "xmlname": "Filter" }, - "documentation": "\n

One or more filters.

\n \n ", + "documentation": "\n

One or more filters.

\n \n ", "flattened": true } }, @@ -12430,6 +12450,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -12538,7 +12561,8 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], "documentation": "\n

The volume type.

\n

Default: standard

\n ", "xmlname": "volumeType" @@ -12546,7 +12570,7 @@ "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with standard volumes.

\n ", + "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with\n standard or gp2 volumes.

\n ", "xmlname": "iops" }, "Encrypted": { @@ -12821,6 +12845,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -12939,6 +12966,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -13310,7 +13340,7 @@ "documentation": "\n " }, "errors": [], - "documentation": "\n

Describes one or more of the tags for your EC2 resources.

\n

For more information about tags, see Tagging Your Resources in the\n Amazon Elastic Compute Cloud User Guide.

\n \n \n Example\n This example describes all the tags in your account.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n \n \n ami-1a2b3c4d\n image\n webserver\n \n \n \n ami-1a2b3c4d\n image\n stack\n Production\n \n \n i-5f4e3d2a\n instance\n webserver\n \n \n \n i-5f4e3d2a\n instance\n stack\n Production\n \n \n i-12345678\n instance\n database_server\n \n \n \n i-12345678\n instance\n stack\n Test\n \n \n\n \n \n Example\n This example describes only the tags for the AMI with ID ami-1a2b3c4d.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=resource-id\n&Filter.1.Value.1=ami-1a2b3c4d\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n \n \n ami-1a2b3c4d\n image\n webserver\n \n \n \n ami-1a2b3c4d\n image\n stack\n Production\n \n \n\n \n \n Example\n This example describes the tags for all your instances.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=resource-type\n&Filter.1.Value.1=instance\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n \n \n i-5f4e3d2a\n instance\n webserver\n \n \n \n i-5f4e3d2a\n instance\n stack\n Production\n \n \n i-12345678\n instance\n database_server\n \n \n \n i-12345678\n instance\n stack\n Test\n \n \n\n \n \n Example\n This example describes the tags for all your instances tagged with the key\n webserver. Note that you can use wildcards with\n filters, so you could specify the value as ?ebserver to\n find tags with the key webserver or\n Webserver.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=key\n&Filter.1.Value.1=webserver\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n \n \n i-5f4e3d2a\n instance\n webserver\n \n \n \n\n \n \n Example\n This example describes the tags for all your instances tagged with either\n stack=Test or stack=Production.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=resource-type\n&Filter.1.Value.1=instance\n&Filter.2.Name=key\n&Filter.2.Value.1=stack\n&Filter.3.Name=value\n&Filter.3.Value.1=Test\n&Filter.3.Value.2=Production\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE \n \n \n i-5f4e3d2a\n instance\n stack\n Production\n \n \n i-12345678\n instance\n stack\n Test\n \n \n\n \n \n Example\n This example describes the tags for all your instances tagged with Purpose=[empty\n string].\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=resource-type\n&Filter.1.Value.1=instance\n&Filter.2.Name=key\n&Filter.2.Value.1=Purpose\n&Filter.3.Name=value\n&Filter.3.Value.1=\n&AUTHPARAMS\n \n \n ", + "documentation": "\n

Describes one or more of the tags for your EC2 resources.

\n

For more information about tags, see Tagging Your Resources in the\n Amazon Elastic Compute Cloud User Guide.

\n \n \n Example\n This example describes all the tags in your account.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n \n \n ami-1a2b3c4d\n image\n webserver\n \n \n \n ami-1a2b3c4d\n image\n stack\n Production\n \n \n i-5f4e3d2a\n instance\n webserver\n \n \n \n i-5f4e3d2a\n instance\n stack\n Production\n \n \n i-12345678\n instance\n database_server\n \n \n \n i-12345678\n instance\n stack\n Test\n \n \n\n \n \n Example\n This example describes only the tags for the AMI with ID ami-1a2b3c4d.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=resource-id\n&Filter.1.Value.1=ami-1a2b3c4d\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n \n \n ami-1a2b3c4d\n image\n webserver\n \n \n \n ami-1a2b3c4d\n image\n stack\n Production\n \n \n\n \n \n Example\n This example describes the tags for all your instances.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=resource-type\n&Filter.1.Value.1=instance\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n \n \n i-5f4e3d2a\n instance\n webserver\n \n \n \n i-5f4e3d2a\n instance\n stack\n Production\n \n \n i-12345678\n instance\n database_server\n \n \n \n i-12345678\n instance\n stack\n Test\n \n \n\n \n \n Example\n This example describes the tags for all your instances tagged with the key\n webserver. Note that you can use wildcards with\n filters, so you could specify the value as ?ebserver to\n find tags with the key webserver or\n Webserver.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=key\n&Filter.1.Value.1=webserver\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE\n \n \n i-5f4e3d2a\n instance\n webserver\n \n \n \n\n \n \n Example\n This example describes the tags for all your instances tagged with either\n stack=Test or stack=Production.\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=resource-type\n&Filter.1.Value.1=instance\n&Filter.2.Name=key\n&Filter.2.Value.1=stack\n&Filter.3.Name=value\n&Filter.3.Value.1=Test\n&Filter.3.Value.2=Production\n&AUTHPARAMS\n \n 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE \n \n \n i-5f4e3d2a\n instance\n stack\n Production\n \n \n i-12345678\n instance\n stack\n Test\n \n \n\n \n \n Example\n This example describes the tags for all your instances tagged with Purpose=[empty\n string].\n https://ec2.amazonaws.com/?Action=DescribeTags\n&Filter.1.Name=resource-type\n&Filter.1.Value.1=instance\n&Filter.2.Name=key\n&Filter.2.Value.1=Purpose\n&Filter.3.Name=value\n&Filter.3.Value.1=\n&AUTHPARAMS\n \n \n ", "pagination": { "input_token": "NextToken", "output_token": "NextToken", @@ -13706,7 +13736,7 @@ "documentation": "\n ", "xmlname": "Filter" }, - "documentation": "\n

One or more filters.

\n \n ", + "documentation": "\n

One or more filters.

\n \n ", "flattened": true } }, @@ -13854,9 +13884,10 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], - "documentation": "\n

The volume type. This can be standard for standard EBS volumes or io1\n for Provisioned IOPS volumes.

\n ", + "documentation": "\n

The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for\n Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.

\n ", "xmlname": "volumeType" }, "Iops": { @@ -15189,6 +15220,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -16572,6 +16606,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -17088,14 +17125,15 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], "documentation": "\n

The volume type.

\n

Default: standard

\n " }, "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with standard volumes.

\n " + "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with\n standard or gp2 volumes.

\n " }, "Encrypted": { "shape_name": "Boolean", @@ -17605,6 +17643,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -17702,14 +17743,15 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], "documentation": "\n

The volume type.

\n

Default: standard

\n " }, "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with standard volumes.

\n " + "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with\n standard or gp2 volumes.

\n " }, "Encrypted": { "shape_name": "Boolean", @@ -18064,6 +18106,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -18172,7 +18217,8 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], "documentation": "\n

The volume type.

\n

Default: standard

\n ", "xmlname": "volumeType" @@ -18180,7 +18226,7 @@ "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with standard volumes.

\n ", + "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with\n standard or gp2 volumes.

\n ", "xmlname": "iops" }, "Encrypted": { @@ -18897,6 +18943,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", @@ -19003,14 +19052,15 @@ "type": "string", "enum": [ "standard", - "io1" + "io1", + "gp2" ], "documentation": "\n

The volume type.

\n

Default: standard

\n " }, "Iops": { "shape_name": "Integer", "type": "integer", - "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with standard volumes.

\n " + "documentation": "\n

The number of I/O operations per second (IOPS) that the\n volume supports.

\n

Constraint: Range is 100 to 4000.

\n

Condition: Required when the volume type is io1; not used with\n standard or gp2 volumes.

\n " }, "Encrypted": { "shape_name": "Boolean", @@ -19363,6 +19413,9 @@ "m3.large", "m3.xlarge", "m3.2xlarge", + "t2.micro", + "t2.small", + "t2.medium", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", diff --git a/botocore/data/aws/kinesis/2013-12-02.json b/botocore/data/aws/kinesis/2013-12-02.json index 2f528953..6f253a11 100644 --- a/botocore/data/aws/kinesis/2013-12-02.json +++ b/botocore/data/aws/kinesis/2013-12-02.json @@ -29,7 +29,7 @@ "shape_name": "PositiveIntegerObject", "type": "integer", "min_length": 1, - "documentation": "\n

The number of shards that the stream will use. The throughput of the stream is a function of the number of shards; more shards are required for greater\n provisioned throughput.

\n

Note: The default limit for an AWS account is two shards per stream. \n If you need to create a stream with more than two shards, contact AWS Support to increase the limit on your account.

\n ", + "documentation": "\n

The number of shards that the stream will use. The throughput of the stream is a function of the number of shards; more shards are required for greater\n provisioned throughput.

\n

Note: The default limit for an AWS account is 10 shards per stream. \n If you need to create a stream with more than 10 shards, contact AWS Support to increase the limit on your account.

\n ", "required": true } }, @@ -74,7 +74,7 @@ "documentation": " \n " } ], - "documentation": "\n \t

This operation adds a new Amazon Kinesis stream to your AWS account. A stream captures and transports data records that are continuously emitted from different data sources or producers. \n\t Scale-out within an Amazon Kinesis stream is explicitly supported by means of shards, which are uniquely identified groups of data records in an Amazon Kinesis stream.

\n\t

You specify and control the number of shards that a stream is composed of. Each shard can support up to 5 read transactions per second up to a maximum total of 2 MB of data read per second. Each shard can support up to 1000 write transactions per second up to a maximum total of 1 MB data written per second. \n\t You can add shards to a stream if the amount of data input increases and you can remove shards if the amount of data input decreases.

\n\t

The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by region. \n\t That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different regions, can have the same name.

\n\t

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, \n\t Amazon Kinesis immediately returns and sets the stream status to CREATING. After the stream is created, Amazon Kinesis sets the stream status to ACTIVE. \n\t You should perform read and write operations only on an ACTIVE stream.

\n\t

You receive a LimitExceededException when making a CreateStream request if you try to do one of the following:

\n\t \n\t

Note: The default limit for an AWS account is two shards per stream. \n\t If you need to create a stream with more than two shards, contact AWS Support to increase the limit on your account.

\n\t

You can use the DescribeStream operation to check the stream status, which is returned in StreamStatus.

\n\t

CreateStream has a limit of 5 transactions per second per account.

\n\t \n\t \n\t Create a Stream \n\t The following is an example of an Amazon Kinesis CreateStream request and response.\n\t .\nx-amz-Date: \nAuthorization: AWS4-HMAC-SHA256 Credential=, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=\nUser-Agent: \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.CreateStream \n\n{\n \"StreamName\":\"exampleStreamName\",\"ShardCount\":3\n}\n\t \n\t \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nDate: ]]>\n\t \n\t \n\t \n " + "documentation": "\n \t

This operation adds a new Amazon Kinesis stream to your AWS account. A stream captures and transports data records that are continuously emitted from different data sources or producers. \n\t Scale-out within an Amazon Kinesis stream is explicitly supported by means of shards, which are uniquely identified groups of data records in an Amazon Kinesis stream.

\n\t

You specify and control the number of shards that a stream is composed of. Each open shard can support up to 5 read transactions per second, up to a maximum total of 2 MB of data read per second. Each shard can support up to 1000 write transactions per second, up to a maximum total of 1 MB data written per second. \n\t You can add shards to a stream if the amount of data input increases and you can remove shards if the amount of data input decreases.

\n\t

The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by region. \n\t That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different regions, can have the same name.

\n\t

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, \n\t Amazon Kinesis immediately returns and sets the stream status to CREATING. After the stream is created, Amazon Kinesis sets the stream status to ACTIVE. \n\t You should perform read and write operations only on an ACTIVE stream.

\n\t

You receive a LimitExceededException when making a CreateStream request if you try to do one of the following:

\n\t \n\t

Note: The default limit for an AWS account is 10 shards per stream. \n\t If you need to create a stream with more than 10 shards, contact AWS Support to increase the limit on your account.

\n\t

You can use the DescribeStream operation to check the stream status, which is returned in StreamStatus.

\n\t

CreateStream has a limit of 5 transactions per second per account.

\n\t \n\t \n\t Create a Stream \n\t The following is an example of an Amazon Kinesis CreateStream request and response.\n\t .\nx-amz-Date: \nAuthorization: AWS4-HMAC-SHA256 Credential=, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=\nUser-Agent: \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.CreateStream \n\n{\n \"StreamName\":\"exampleStreamName\",\"ShardCount\":3\n}\n\t \n\t \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nDate: ]]>\n\t \n\t \n\t \n " }, "DeleteStream": { "name": "DeleteStream", @@ -549,7 +549,7 @@ "documentation": " \n " } ], - "documentation": "\n \t

This operation returns a shard iterator in ShardIterator. The shard iterator specifies the position in the shard from \n\t which you want to start reading data records sequentially. \n\t A shard iterator specifies this position using the sequence number of a data record in a shard. \n\t A sequence number is the identifier associated with every record ingested in the Amazon Kinesis stream. \n\t The sequence number is assigned by the Amazon Kinesis service when a record is put into the stream.

\n\t

You must specify the shard iterator type in the GetShardIterator request. \n\t For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number \n\t by using the AT_SEQUENCE_NUMBER shard iterator type, or right after the sequence number by using the AFTER_SEQUENCE_NUMBER shard iterator type, \n\t using sequence numbers returned by earlier PutRecord, GetRecords or DescribeStream requests. \n\t You can specify the shard iterator type TRIM_HORIZON in the request to cause ShardIterator \n\t to point to the last untrimmed record in the shard in the system, which is the oldest data record in the shard. \n\t Or you can point to just after the most recent record in the shard, by using the shard iterator type LATEST, so that you always \n\t read the most recent data in the shard.

\n\t

Note: Each shard iterator expires five minutes after it is returned to the requester.

\n\t

When you repeatedly read from an Amazon Kinesis stream use a GetShardIterator request to get the first shard iterator to \n\t to use in your first GetRecords request and then use the shard iterator returned by the \n\t GetRecords request in NextShardIterator for subsequent reads.\n\t A new shard iterator is returned by every GetRecords request in NextShardIterator, \n\t which you use in the ShardIterator parameter of the next GetRecords request.

\n\t

If a GetShardIterator request is made too often, you will receive a ProvisionedThroughputExceededException. \n\t For more information about throughput limits, see the Amazon Kinesis Developer Guide.

\n\t

GetShardIterator can return null for its ShardIterator to indicate that the shard has been closed \n\t and that the requested iterator will return no more data. A shard can be closed by a SplitShard or MergeShards operation.

\n\t

GetShardIterator has a limit of 5 transactions per second per account per shard.

\n\t \n\t \n\t Get a Shard Iterator\n\t The following is an example of an Amazon Kinesis GetShardIterator request and response.\n\t .\nx-amz-Date: \nAuthorization: AWS4-HMAC-SHA256 Credential=, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=\nUser-Agent: \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.GetShardIterator\n\n{\n \"StreamName\": \"exampleStreamName\",\n \"ShardId\": \"shardId-000000000001\",\n \"ShardIteratorType\": \"LATEST\"\n}\n\t \n\t \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nDate: ]]>\n\n{\n \"ShardIterator\": \"AAAAAAAAAAETYyAYzd665+8e0X7JTsASDM/Hr2rSwc0X2qz93iuA3udrjTH+ikQvpQk/1ZcMMLzRdAesqwBGPnsthzU0/CBlM/U8/8oEqGwX3pKw0XyeDNRAAZyXBo3MqkQtCpXhr942BRTjvWKhFz7OmCb2Ncfr8Tl2cBktooi6kJhr+djN5WYkB38Rr3akRgCl9qaU4dY=\" \n}\n\t \n\t \n\t \n " + "documentation": "\n \t

This operation returns a shard iterator in ShardIterator. The shard iterator specifies the position in the shard from \n\t which you want to start reading data records sequentially. \n\t A shard iterator specifies this position using the sequence number of a data record in a shard. \n\t A sequence number is the identifier associated with every record ingested in the Amazon Kinesis stream. \n\t The sequence number is assigned by the Amazon Kinesis service when a record is put into the stream.

\n\t

You must specify the shard iterator type in the GetShardIterator request. \n\t For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number \n\t by using the AT_SEQUENCE_NUMBER shard iterator type, or right after the sequence number by using the AFTER_SEQUENCE_NUMBER shard iterator type, \n\t using sequence numbers returned by earlier PutRecord, GetRecords or DescribeStream requests. \n\t You can specify the shard iterator type TRIM_HORIZON in the request to cause ShardIterator \n\t to point to the last untrimmed record in the shard in the system, which is the oldest data record in the shard. \n\t Or you can point to just after the most recent record in the shard, by using the shard iterator type LATEST, so that you always \n\t read the most recent data in the shard.

\n\t

Note: Each shard iterator expires five minutes after it is returned to the requester.

\n\t

When you repeatedly read from an Amazon Kinesis stream use a GetShardIterator request to get the first shard iterator to \n\t to use in your first GetRecords request and then use the shard iterator returned by the \n\t GetRecords request in NextShardIterator for subsequent reads.\n\t A new shard iterator is returned by every GetRecords request in NextShardIterator, \n\t which you use in the ShardIterator parameter of the next GetRecords request.

\n\t

If a GetShardIterator request is made too often, you will receive a ProvisionedThroughputExceededException. \n\t For more information about throughput limits, see the Amazon Kinesis Developer Guide.

\n\t

GetShardIterator can return null for its ShardIterator to indicate that the shard has been closed \n\t and that the requested iterator will return no more data. A shard can be closed by a SplitShard or MergeShards operation.

\n\t

GetShardIterator has a limit of 5 transactions per second per account per open shard.

\n\t \n\t \n\t Get a Shard Iterator\n\t The following is an example of an Amazon Kinesis GetShardIterator request and response.\n\t .\nx-amz-Date: \nAuthorization: AWS4-HMAC-SHA256 Credential=, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=\nUser-Agent: \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.GetShardIterator\n\n{\n \"StreamName\": \"exampleStreamName\",\n \"ShardId\": \"shardId-000000000001\",\n \"ShardIteratorType\": \"LATEST\"\n}\n\t \n\t \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nDate: ]]>\n\n{\n \"ShardIterator\": \"AAAAAAAAAAETYyAYzd665+8e0X7JTsASDM/Hr2rSwc0X2qz93iuA3udrjTH+ikQvpQk/1ZcMMLzRdAesqwBGPnsthzU0/CBlM/U8/8oEqGwX3pKw0XyeDNRAAZyXBo3MqkQtCpXhr942BRTjvWKhFz7OmCb2Ncfr8Tl2cBktooi6kJhr+djN5WYkB38Rr3akRgCl9qaU4dY=\" \n}\n\t \n\t \n\t \n " }, "ListStreams": { "name": "ListStreams", @@ -735,7 +735,7 @@ "type": "blob", "min_length": 0, "max_length": 51200, - "documentation": "\n

The data blob to put into the record, which is Base64-encoded by the AWS SDK for Java when the blob is serialized. The maximum size of the data blob (the payload after Base64-decoding) is 50 kilobytes (KB)

\n ", + "documentation": "\n

The data blob to put into the record, which is Base64-encoded when the blob is serialized. The maximum size of the data blob (the payload after Base64-decoding) is 50 kilobytes (KB)

\n ", "required": true }, "PartitionKey": { @@ -909,7 +909,7 @@ "documentation": " \n " } ], - "documentation": "\n\t

This operation splits a shard into two new shards in the stream, to increase the stream's capacity to ingest and transport data. \n\t SplitShard is called when there is a need to increase the overall capacity of stream because of an expected increase \n\t in the volume of data records being ingested.

\n\t

SplitShard can also be used when a given shard appears to be approaching its maximum utilization, for example, \n\t when the set of producers sending data into the specific shard are suddenly sending more than previously anticipated. \n\t You can also call the SplitShard operation to increase stream capacity, so that more\n\t Amazon Kinesis applications can simultaneously read data from the stream for real-time processing.

\n\t

The SplitShard operation requires that you specify the shard to be split and the new hash key, \n\t which is the position in the shard where the shard gets split in two. \n\t In many cases, the new hash key might simply be the average of the beginning and ending hash key, \n\t but it can be any hash key value in the range being mapped into the shard. \n\t For more information about splitting shards, see the Amazon Kinesis Developer Guide.\n\t

\n\t

You can use the DescribeStream operation to determine the shard ID and hash key values for the \n\t ShardToSplit and NewStartingHashKey parameters that are specified in the SplitShard request.

\n\t

SplitShard is an asynchronous operation. Upon receiving a SplitShard request, Amazon Kinesis \n\t immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Amazon Kinesis \n\t sets the stream status to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state. \n\t

\n\t

You can use DescribeStream to check the status of the stream, which is returned in StreamStatus. \n\t If the stream is in the ACTIVE state, you can call SplitShard. \n\t If a stream is in CREATING or UPDATING or DELETING states, then Amazon Kinesis returns a ResourceInUseException.

\n\t

If the specified stream does not exist, Amazon Kinesis returns a ResourceNotFoundException. \n\t If you try to create more shards than are authorized for your account, you receive a LimitExceededException.

\n\t

Note: The default limit for an AWS account is two shards per stream. \n\t If you need to create a stream with more than two shards, contact AWS Support to increase the limit on your account.

\n\t

If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards or SplitShard, \n\t you will receive a LimitExceededException.

\n\t

SplitShard has limit of 5 transactions per second per account.

\n\t \n\t \n\t Split a Shard \n\t The following is an example of an Amazon Kinesis SplitShard request and response.\n\t .\nx-amz-Date: \nAuthorization: AWS4-HMAC-SHA256 Credential=, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=\nUser-Agent: \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.SplitShard\n\n{\n \"StreamName\": \"exampleStreamName\",\n \"ShardToSplit\": \"shardId-000000000000\",\n \"NewStartingHashKey\": \"10\"\n}\n\t \n\t \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nDate: ]]>\n\t \n\t \n\t \n " + "documentation": "\n\t

This operation splits a shard into two new shards in the stream, to increase the stream's capacity to ingest and transport data. \n\t SplitShard is called when there is a need to increase the overall capacity of stream because of an expected increase \n\t in the volume of data records being ingested.

\n\t

SplitShard can also be used when a given shard appears to be approaching its maximum utilization, for example, \n\t when the set of producers sending data into the specific shard are suddenly sending more than previously anticipated. \n\t You can also call the SplitShard operation to increase stream capacity, so that more\n\t Amazon Kinesis applications can simultaneously read data from the stream for real-time processing.

\n\t

The SplitShard operation requires that you specify the shard to be split and the new hash key, \n\t which is the position in the shard where the shard gets split in two. \n\t In many cases, the new hash key might simply be the average of the beginning and ending hash key, \n\t but it can be any hash key value in the range being mapped into the shard. \n\t For more information about splitting shards, see the Amazon Kinesis Developer Guide.\n\t

\n\t

You can use the DescribeStream operation to determine the shard ID and hash key values for the \n\t ShardToSplit and NewStartingHashKey parameters that are specified in the SplitShard request.

\n\t

SplitShard is an asynchronous operation. Upon receiving a SplitShard request, Amazon Kinesis \n\t immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Amazon Kinesis \n\t sets the stream status to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state. \n\t

\n\t

You can use DescribeStream to check the status of the stream, which is returned in StreamStatus. \n\t If the stream is in the ACTIVE state, you can call SplitShard. \n\t If a stream is in CREATING or UPDATING or DELETING states, then Amazon Kinesis returns a ResourceInUseException.

\n\t

If the specified stream does not exist, Amazon Kinesis returns a ResourceNotFoundException. \n\t If you try to create more shards than are authorized for your account, you receive a LimitExceededException.

\n\t

Note: The default limit for an AWS account is 10 shards per stream. \n\t If you need to create a stream with more than 10 shards, contact AWS Support to increase the limit on your account.

\n\t

If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards or SplitShard, \n\t you will receive a LimitExceededException.

\n\t

SplitShard has limit of 5 transactions per second per account.

\n\t \n\t \n\t Split a Shard \n\t The following is an example of an Amazon Kinesis SplitShard request and response.\n\t .\nx-amz-Date: \nAuthorization: AWS4-HMAC-SHA256 Credential=, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=\nUser-Agent: \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.SplitShard\n\n{\n \"StreamName\": \"exampleStreamName\",\n \"ShardToSplit\": \"shardId-000000000000\",\n \"NewStartingHashKey\": \"10\"\n}\n\t \n\t \nContent-Type: application/x-amz-json-1.1\nContent-Length: \nDate: ]]>\n\t \n\t \n\t \n " } }, "pagination": { diff --git a/botocore/data/aws/opsworks/2013-02-18.json b/botocore/data/aws/opsworks/2013-02-18.json index af7c133e..bac7e40f 100644 --- a/botocore/data/aws/opsworks/2013-02-18.json +++ b/botocore/data/aws/opsworks/2013-02-18.json @@ -313,7 +313,7 @@ "Password": { "shape_name": "String", "type": "string", - "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " + "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " }, "SshKey": { "shape_name": "String", @@ -429,6 +429,33 @@ "type": "string", "documentation": "\n

A description of the app.

\n " }, + "DataSources": { + "shape_name": "DataSources", + "type": "list", + "members": { + "shape_name": "DataSource", + "type": "structure", + "members": { + "Type": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance.

\n " + }, + "Arn": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The data source's ARN.

\n " + }, + "DatabaseName": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The database name.

\n " + } + }, + "documentation": "\n

Describes an app's data source.

\n " + }, + "documentation": "\n

The app's data source.

\n " + }, "Type": { "shape_name": "AppType", "type": "string", @@ -470,7 +497,7 @@ "Password": { "shape_name": "String", "type": "string", - "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " + "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " }, "SshKey": { "shape_name": "String", @@ -777,6 +804,11 @@ "type": "string", "documentation": "\n

The instance Availability Zone. For more information, see\n Regions and Endpoints.

\n " }, + "VirtualizationType": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The instance's virtualization type, paravirtual or hvm.

\n " + }, "SubnetId": { "shape_name": "String", "type": "string", @@ -1294,7 +1326,7 @@ "Password": { "shape_name": "String", "type": "string", - "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " + "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " }, "SshKey": { "shape_name": "String", @@ -1689,6 +1721,50 @@ ], "documentation": "\n

Deregisters a specified Elastic IP address. The address can then be registered by another stack. For more information, see\n Resource Management.

\n

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached\n policy that explicitly grants permissions. For more information on user permissions, see\n Managing User Permissions.

\n " }, + "DeregisterRdsDbInstance": { + "name": "DeregisterRdsDbInstance", + "input": { + "shape_name": "DeregisterRdsDbInstanceRequest", + "type": "structure", + "members": { + "RdsDbInstanceArn": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The Amazon RDS instance's ARN.

\n ", + "required": true + } + }, + "documentation": null + }, + "output": null, + "errors": [ + { + "shape_name": "ValidationException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The exception message.

\n " + } + }, + "documentation": "\n

Indicates that a request was invalid.

\n " + }, + { + "shape_name": "ResourceNotFoundException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The exception message.

\n " + } + }, + "documentation": "\n

Indicates that a resource was not found.

\n " + } + ], + "documentation": "\n

Deregisters an Amazon RDS instance.

\n " + }, "DeregisterVolume": { "name": "DeregisterVolume", "input": { @@ -1793,6 +1869,33 @@ "type": "string", "documentation": "\n

A description of the app.

\n " }, + "DataSources": { + "shape_name": "DataSources", + "type": "list", + "members": { + "shape_name": "DataSource", + "type": "structure", + "members": { + "Type": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance.

\n " + }, + "Arn": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The data source's ARN.

\n " + }, + "DatabaseName": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The database name.

\n " + } + }, + "documentation": "\n

Describes an app's data source.

\n " + }, + "documentation": "\n

The app's data sources.

\n " + }, "Type": { "shape_name": "AppType", "type": "string", @@ -1833,7 +1936,7 @@ "Password": { "shape_name": "String", "type": "string", - "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " + "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " }, "SshKey": { "shape_name": "String", @@ -1856,7 +1959,7 @@ "type": "string", "documentation": null }, - "documentation": "\n

The app vhost settings, with multiple domains separated by commas. For example: 'www.example.com, example.com'

\n " + "documentation": "\n

The app vhost settings with multiple domains separated by commas. For example: 'www.example.com, example.com'

\n " }, "EnableSsl": { "shape_name": "Boolean", @@ -2540,6 +2643,11 @@ "type": "string", "documentation": "\n

The ID of the associated Amazon EC2 instance.

\n " }, + "VirtualizationType": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The instance's virtualization type, paravirtual or hvm.

\n " + }, "Hostname": { "shape_name": "String", "type": "string", @@ -3552,6 +3660,124 @@ ], "documentation": "\n

Describe an instance's RAID arrays.

\n \n

You must specify at least one of the parameters.

\n
\n

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage\n permissions level for the stack, or an attached policy that explicitly grants permissions.\n For more information on user permissions, see\n Managing User Permissions.

\n " }, + "DescribeRdsDbInstances": { + "name": "DescribeRdsDbInstances", + "input": { + "shape_name": "DescribeRdsDbInstancesRequest", + "type": "structure", + "members": { + "StackId": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The stack ID that the instances are registered with. The operation returns descriptions of all registered Amazon RDS instances.

\n ", + "required": true + }, + "RdsDbInstanceArns": { + "shape_name": "Strings", + "type": "list", + "members": { + "shape_name": "String", + "type": "string", + "documentation": null + }, + "documentation": "\n

An array containing the ARNs of the instances to be described.

\n " + } + }, + "documentation": null + }, + "output": { + "shape_name": "DescribeRdsDbInstancesResult", + "type": "structure", + "members": { + "RdsDbInstances": { + "shape_name": "RdsDbInstances", + "type": "list", + "members": { + "shape_name": "RdsDbInstance", + "type": "structure", + "members": { + "RdsDbInstanceArn": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The instance's ARN.

\n " + }, + "DbInstanceIdentifier": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The DB instance identifier.

\n " + }, + "DbUser": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The master user name.

\n " + }, + "DbPassword": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The database password.

\n " + }, + "Region": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The instance's AWS region.

\n " + }, + "Address": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The instance's address.

\n " + }, + "Engine": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The instance's database engine.

\n " + }, + "StackId": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The ID of the stack that the instance is registered with.

\n " + }, + "MissingOnRds": { + "shape_name": "Boolean", + "type": "boolean", + "box": true, + "documentation": "\n

Set to true if AWS OpsWorks was unable to discover the Amazon RDS instance.\n AWS OpsWorks attempts to discover the instance only once. If this value is set to true,\n you must deregister the instance and then register it again.

\n " + } + }, + "documentation": "\n

Describes an Amazon RDS instance.

\n " + }, + "documentation": "\n

An a array of RdsDbInstance objects that describe the instances.

\n " + } + }, + "documentation": "\n

Contains the response to a DescribeRdsDbInstances request.

\n " + }, + "errors": [ + { + "shape_name": "ValidationException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The exception message.

\n " + } + }, + "documentation": "\n

Indicates that a request was invalid.

\n " + }, + { + "shape_name": "ResourceNotFoundException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The exception message.

\n " + } + }, + "documentation": "\n

Indicates that a resource was not found.

\n " + } + ], + "documentation": "\n

Describes Amazon RDS instances.

\n " + }, "DescribeServiceErrors": { "name": "DescribeServiceErrors", "input": { @@ -4016,7 +4242,7 @@ "Password": { "shape_name": "String", "type": "string", - "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " + "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " }, "SshKey": { "shape_name": "String", @@ -4757,6 +4983,68 @@ ], "documentation": "\n

Registers an Elastic IP address with a specified stack. An address can be\n registered with only one stack at a time. If the address is already registered, you must first deregister it\n by calling DeregisterElasticIp. For more information, see\n Resource Management.

\n

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached\n policy that explicitly grants permissions. For more information on user permissions, see\n Managing User Permissions.

" }, + "RegisterRdsDbInstance": { + "name": "RegisterRdsDbInstance", + "input": { + "shape_name": "RegisterRdsDbInstanceRequest", + "type": "structure", + "members": { + "StackId": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The stack ID.

\n ", + "required": true + }, + "RdsDbInstanceArn": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The Amazon RDS instance's ARN.

\n ", + "required": true + }, + "DbUser": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The database's master user name.

\n ", + "required": true + }, + "DbPassword": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The database password.

\n ", + "required": true + } + }, + "documentation": null + }, + "output": null, + "errors": [ + { + "shape_name": "ValidationException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The exception message.

\n " + } + }, + "documentation": "\n

Indicates that a request was invalid.

\n " + }, + { + "shape_name": "ResourceNotFoundException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The exception message.

\n " + } + }, + "documentation": "\n

Indicates that a resource was not found.

\n " + } + ], + "documentation": "\n

Registers an Amazon RDS instance with a stack.

\n " + }, "RegisterVolume": { "name": "RegisterVolume", "input": { @@ -5422,6 +5710,33 @@ "type": "string", "documentation": "\n

A description of the app.

\n " }, + "DataSources": { + "shape_name": "DataSources", + "type": "list", + "members": { + "shape_name": "DataSource", + "type": "structure", + "members": { + "Type": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance.

\n " + }, + "Arn": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The data source's ARN.

\n " + }, + "DatabaseName": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The database name.

\n " + } + }, + "documentation": "\n

Describes an app's data source.

\n " + }, + "documentation": "\n

The app's data sources.

\n " + }, "Type": { "shape_name": "AppType", "type": "string", @@ -5462,7 +5777,7 @@ "Password": { "shape_name": "String", "type": "string", - "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " + "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " }, "SshKey": { "shape_name": "String", @@ -5688,6 +6003,12 @@ "type": "boolean", "box": true, "documentation": "\n

Whether to install operating system and package updates when the instance boots. The default value is true.\n To control when updates are installed, set this value to false. You must then update your instances manually by\n using CreateDeployment to run the update_dependencies stack command or\n manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.\n

\n \n

We strongly recommend using the default value of true, to ensure that your\n instances have the latest security updates.

\n
\n " + }, + "EbsOptimized": { + "shape_name": "Boolean", + "type": "boolean", + "box": true, + "documentation": "\n

Whether this is an Amazon EBS-optimized instance.

\n " } }, "documentation": null @@ -6008,6 +6329,60 @@ ], "documentation": "\n

Updates a user's SSH public key.

\n

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached\n policy that explicitly grants permissions. For more information on user permissions, see\n Managing User Permissions.

\n " }, + "UpdateRdsDbInstance": { + "name": "UpdateRdsDbInstance", + "input": { + "shape_name": "UpdateRdsDbInstanceRequest", + "type": "structure", + "members": { + "RdsDbInstanceArn": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The Amazon RDS instance's ARN.

\n ", + "required": true + }, + "DbUser": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The master user name.

\n " + }, + "DbPassword": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The database password.

\n " + } + }, + "documentation": null + }, + "output": null, + "errors": [ + { + "shape_name": "ValidationException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The exception message.

\n " + } + }, + "documentation": "\n

Indicates that a request was invalid.

\n " + }, + { + "shape_name": "ResourceNotFoundException", + "type": "structure", + "members": { + "message": { + "shape_name": "String", + "type": "string", + "documentation": "\n

The exception message.

\n " + } + }, + "documentation": "\n

Indicates that a resource was not found.

\n " + } + ], + "documentation": "\n

Updates an Amazon RDS instance.

\n " + }, "UpdateStack": { "name": "UpdateStack", "input": { @@ -6147,7 +6522,7 @@ "Password": { "shape_name": "String", "type": "string", - "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " + "documentation": "\n

This parameter depends on the repository type.

\n \n

For more information on how to safely handle IAM credentials, see .

\n " }, "SshKey": { "shape_name": "String", diff --git a/botocore/data/aws/ses/2010-12-01.json b/botocore/data/aws/ses/2010-12-01.json index f5774291..1134a890 100644 --- a/botocore/data/aws/ses/2010-12-01.json +++ b/botocore/data/aws/ses/2010-12-01.json @@ -169,32 +169,38 @@ "BounceTopic": { "shape_name": "NotificationTopic", "type": "string", - "documentation": "\n

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic \n where Amazon SES will publish bounce notifications.

\n ", + "documentation": "\n

The Amazon Resource Name (ARN) of the Amazon SNS topic\n where Amazon SES will publish bounce notifications.

\n ", "required": true }, "ComplaintTopic": { "shape_name": "NotificationTopic", "type": "string", - "documentation": "\n

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic \n where Amazon SES will publish complaint notifications.

\n ", + "documentation": "\n

The Amazon Resource Name (ARN) of the Amazon SNS topic\n where Amazon SES will publish complaint notifications.

\n ", + "required": true + }, + "DeliveryTopic": { + "shape_name": "NotificationTopic", + "type": "string", + "documentation": "\n

The Amazon Resource Name (ARN) of the Amazon SNS topic\n where Amazon SES will publish delivery notifications.

\n ", "required": true }, "ForwardingEnabled": { "shape_name": "Enabled", "type": "boolean", - "documentation": "\n

Describes whether Amazon SES will forward feedback as email. true indicates \n that Amazon SES will forward feedback as email, while false indicates that \n feedback will be published only to the specified Bounce and Complaint topics.

\n ", + "documentation": "\n

Describes whether Amazon SES will forward bounce and complaint notifications as email. true indicates\n that Amazon SES will forward bounce and complaint notifications as email, while false indicates that\n bounce and complaint notifications will be published only to the specified bounce and complaint Amazon SNS topics.

\n ", "required": true } }, - "documentation": "\n

Represents the notification attributes of an identity, including whether a bounce \n or complaint topic are set, and whether feedback forwarding is enabled.

\n " + "documentation": "\n

Represents the notification attributes of an identity, including whether an identity has Amazon Simple\n Notification Service (Amazon SNS) topics set for bounce, complaint, and/or delivery notifications,\n and whether feedback forwarding is enabled for bounce and complaint notifications.

\n " }, "documentation": "\n

A map of Identity to IdentityNotificationAttributes.

\n ", "required": true } }, - "documentation": "\n

Describes whether an identity has a bounce topic or complaint topic set, or feedback \n forwarding enabled.

\n " + "documentation": "\n

Describes whether an identity has Amazon Simple Notification Service (Amazon SNS) topics set for\n bounce, complaint, and/or delivery notifications, and specifies whether feedback forwarding is\n enabled for bounce and complaint notifications.

\n " }, "errors": [], - "documentation": "\n

Given a list of verified identities (email addresses and/or domains), returns a structure describing identity \n notification attributes.

\n

This action is throttled at one request per second.

\n

For more information about feedback notification, see the \n Amazon SES Developer Guide.

\n \n \n \nPOST / HTTP/1.1\nDate: Fri, 15 Jun 2012 20:51:42 GMT\nHost: email.us-east-1.amazonaws.com\nContent-Type: application/x-www-form-urlencoded\nX-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,\n Signature=ee9aH6tUW5wBPoh01Tz3w4H+z4avrMmvmRYbfORC7OI=,\n Algorithm=HmacSHA256, SignedHeaders=Date;Host\nContent-Length: 173\n\nAWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Action=GetIdentityNotificationAttributes\n&Identities.member.1=user%40example.com\n&Timestamp=2012-06-15T20%3A51%3A42.000Z\n&Version=2010-12-01\n \n \n \n \n\n \n \n \n user@example.com\n \n true\n arn:aws:sns:us-east-1:123456789012:example\n arn:aws:sns:us-east-1:123456789012:example\n \n \n \n \n \n e038e509-b72a-11e1-901f-1fbd90e8104f\n \n\n \n \n \n " + "documentation": "\n

Given a list of verified identities (email addresses and/or domains), returns a structure describing identity \n notification attributes.

\n

This action is throttled at one request per second.

\n

For more information about using notifications with Amazon SES, see the\n Amazon SES Developer Guide.

\n \n \n \nPOST / HTTP/1.1\nDate: Fri, 15 Jun 2012 20:51:42 GMT\nHost: email.us-east-1.amazonaws.com\nContent-Type: application/x-www-form-urlencoded\nX-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,\n Signature=ee9aH6tUW5wBPoh01Tz3w4H+z4avrMmvmRYbfORC7OI=,\n Algorithm=HmacSHA256, SignedHeaders=Date;Host\nContent-Length: 173\n\nAWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Action=GetIdentityNotificationAttributes\n&Identities.member.1=user%40example.com\n&Timestamp=2012-06-15T20%3A51%3A42.000Z\n&Version=2010-12-01\n \n \n \n \n\n \n \n \n user@example.com\n \n true\n arn:aws:sns:us-east-1:123456789012:example\n arn:aws:sns:us-east-1:123456789012:example\n arn:aws:sns:us-east-1:123456789012:example\n \n \n \n \n \n e038e509-b72a-11e1-901f-1fbd90e8104f\n \n\n \n \n \n " }, "GetIdentityVerificationAttributes": { "name": "GetIdentityVerificationAttributes", @@ -558,7 +564,7 @@ "ReturnPath": { "shape_name": "Address", "type": "string", - "documentation": "\n

The email address to which bounce notifications are to be forwarded. If the message cannot be delivered to the\n recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded\n to the email address specified by the\n ReturnPath\n parameter.\n

\n " + "documentation": "\n

The email address to which bounces and complaints are to be forwarded when feedback forwarding is enabled. If the message cannot be delivered to the\n recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded\n to the email address specified by the\n ReturnPath\n parameter.\n

\n " } }, "documentation": "\n

Represents a request instructing the service to send a single email message.

\n

This datatype can be used in application code to compose a message consisting of source, destination, message, reply-to, and return-path\n parts. This object can then be sent using the\n SendEmail\n action.\n

\n " @@ -595,7 +601,7 @@ "Source": { "shape_name": "Address", "type": "string", - "documentation": "\n

The identity's email address.

\n

\n By default, the string must be 7-bit ASCII. If the text must contain any other characters, \n then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. \n MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. \n For more information, see RFC 2047.\n

\n If you specify the\n Source\n parameter, then bounce notifications and\n complaints will be sent to this email address. This takes precedence over any\n Return-Path\n header that you might include in the raw text of the message.\n \n " + "documentation": "\n

The identity's email address.

\n

\n By default, the string must be 7-bit ASCII. If the text must contain any other characters, \n then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. \n MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. \n For more information, see RFC 2047.\n

\n If you specify the\n Source\n parameter and have feedback forwarding enabled, then bounces and\n complaints will be sent to this email address. This takes precedence over any\n Return-Path\n header that you might include in the raw text of the message.\n \n " }, "Destinations": { "shape_name": "AddressList", @@ -605,7 +611,7 @@ "type": "string", "documentation": null }, - "documentation": "\n

A list of destinations for the message.

\n " + "documentation": "\n

A list of destinations for the message, consisting of To:, CC:, and BCC: addresses.

\n " }, "RawMessage": { "shape_name": "RawMessage", @@ -614,7 +620,7 @@ "Data": { "shape_name": "RawMessageData", "type": "blob", - "documentation": "\n

The raw data of the message. The client must ensure that the message format complies with Internet email\n standards regarding email header fields, MIME types, MIME encoding, and base64 encoding (if necessary).\n

\n

For more information, go to the Amazon SES Developer Guide.\n

\n ", + "documentation": "\n

The raw data of the message. The client must ensure that the message format complies with Internet email\n standards regarding email header fields, MIME types, MIME encoding, and base64 encoding (if necessary).\n

\n

The To:, CC:, and BCC: headers in the raw message can contain a group list.\n

\n

For more information, go to the Amazon SES Developer Guide.\n

\n ", "required": true } }, @@ -645,7 +651,7 @@ "documentation": "\n Indicates that the action failed, and the message could not be sent. Check the error stack for more\n information about what caused the error.\n " } ], - "documentation": "\n

Sends an email message, with header and content specified by the client. The\n SendRawEmail\n action is useful for sending multipart MIME emails. The raw text of the message must comply with Internet\n email standards; otherwise, the message cannot be sent.\n

\n \n You can only send email from verified email addresses and domains. \n If you have not requested production access to Amazon SES, you must also \n verify every recipient email address except for the recipients provided \n by the Amazon SES mailbox simulator. For more information, go to the\n Amazon SES\n Developer Guide.\n \n

The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.

\n

Amazon SES has a limit on the total number of recipients per message: The combined number\n of To:, CC: and BCC: email addresses cannot exceed 50. If you need to send an email\n message to a larger audience, you can divide your recipient list into groups of 50 or\n fewer, and then call Amazon SES repeatedly to send the message to each group.\n

\n

For every message that you send, the total number of recipients (To:, CC: and BCC:) is\n counted against your\n sending quota\n - the maximum number of emails you can send in\n a 24-hour period. For information about your sending quota, go to the Amazon SES\n Developer Guide.\n

\n \n \n \nPOST / HTTP/1.1\nDate: Wed, 17 Aug 2011 00:21:38 GMT\nHost: email.us-east-1.amazonaws.com\nContent-Type: application/x-www-form-urlencoded\nX-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,\n Signature=uN0lHIf14tmMBzwnkHzaWBLrBFvJAvyXCsfSYAvwLuc=,\n Algorithm=HmacSHA256, SignedHeaders=Date;Host\nContent-Length: 230\n\nAWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Action=SendRawEmail\n&RawMessage.Data=U3ViamVjdDogRXhhbXBsZQpGcm9tOiBleGFtcGxlQGFtYXpvbi5jb20KVG8\n6IGV4YW1wbGVAYW1h%0Aem9uLmNvbQpDb250ZW50LVR5cGU6IG11bHRpcGFydC9hbHRlcm5hdGl2\nZTsgYm91bmRhcnk9MDAx%0ANmU2OGY5ZDkyOWNiMDk2MDRhYWE4MzA0MgoKLS0wMDE2ZTY4ZjlkO\nTI5Y2IwOTYwNGFhYTgzMDQy%0ACkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU0\n8tODg1OS0xCgpCb2R5LgoKLS0w%0AMDE2ZTY4ZjlkOTI5Y2IwOTYwNGFhYTgzMDQyCkNvbnRlbnQ\ntVHlwZTogdGV4dC9odG1sOyBjaGFy%0Ac2V0PUlTTy04ODU5LTEKCkJvZHkuPGJyPgoKLS0wMDE2\nZTY4ZjlkOTI5Y2IwOTYwNGFhYTgzMDQy%0ALS0%3D%0A\n&Timestamp=2011-08-17T00%3A21%3A38.000Z\n \n \n \n \n\n \n 00000131d51d6b36-1d4f9293-0aee-4503-b573-9ae4e70e9e38-000000\n \n \n e0abcdfa-c866-11e0-b6d0-273d09173b49\n \n\n \n \n \n " + "documentation": "\n

Sends an email message, with header and content specified by the client. The\n SendRawEmail\n action is useful for sending multipart MIME emails. The raw text of the message must comply with Internet\n email standards; otherwise, the message cannot be sent.\n

\n \n You can only send email from verified email addresses and domains. \n If you have not requested production access to Amazon SES, you must also \n verify every recipient email address except for the recipients provided \n by the Amazon SES mailbox simulator. For more information, go to the\n Amazon SES\n Developer Guide.\n \n

The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.

\n

Amazon SES has a limit on the total number of recipients per message: The combined number\n of To:, CC: and BCC: email addresses cannot exceed 50. If you need to send an email\n message to a larger audience, you can divide your recipient list into groups of 50 or\n fewer, and then call Amazon SES repeatedly to send the message to each group.\n

\n

The To:, CC:, and BCC: headers in the raw message can contain a group list. Note that each recipient in a group list \n counts towards the 50-recipient limit.\n

\n

For every message that you send, the total number of recipients (To:, CC: and BCC:) is\n counted against your\n sending quota\n - the maximum number of emails you can send in\n a 24-hour period. For information about your sending quota, go to the Amazon SES\n Developer Guide.\n

\n \n \n \nPOST / HTTP/1.1\nDate: Wed, 17 Aug 2011 00:21:38 GMT\nHost: email.us-east-1.amazonaws.com\nContent-Type: application/x-www-form-urlencoded\nX-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,\n Signature=uN0lHIf14tmMBzwnkHzaWBLrBFvJAvyXCsfSYAvwLuc=,\n Algorithm=HmacSHA256, SignedHeaders=Date;Host\nContent-Length: 230\n\nAWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Action=SendRawEmail\n&RawMessage.Data=U3ViamVjdDogRXhhbXBsZQpGcm9tOiBleGFtcGxlQGFtYXpvbi5jb20KVG8\n6IGV4YW1wbGVAYW1h%0Aem9uLmNvbQpDb250ZW50LVR5cGU6IG11bHRpcGFydC9hbHRlcm5hdGl2\nZTsgYm91bmRhcnk9MDAx%0ANmU2OGY5ZDkyOWNiMDk2MDRhYWE4MzA0MgoKLS0wMDE2ZTY4ZjlkO\nTI5Y2IwOTYwNGFhYTgzMDQy%0ACkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU0\n8tODg1OS0xCgpCb2R5LgoKLS0w%0AMDE2ZTY4ZjlkOTI5Y2IwOTYwNGFhYTgzMDQyCkNvbnRlbnQ\ntVHlwZTogdGV4dC9odG1sOyBjaGFy%0Ac2V0PUlTTy04ODU5LTEKCkJvZHkuPGJyPgoKLS0wMDE2\nZTY4ZjlkOTI5Y2IwOTYwNGFhYTgzMDQy%0ALS0%3D%0A\n&Timestamp=2011-08-17T00%3A21%3A38.000Z\n \n \n \n \n\n \n 00000131d51d6b36-1d4f9293-0aee-4503-b573-9ae4e70e9e38-000000\n \n \n e0abcdfa-c866-11e0-b6d0-273d09173b49\n \n\n \n \n \n " }, "SetIdentityDkimEnabled": { "name": "SetIdentityDkimEnabled", @@ -686,13 +692,13 @@ "Identity": { "shape_name": "Identity", "type": "string", - "documentation": "\n

The identity for which to set feedback notification forwarding. \n Examples: user@example.com, example.com.

\n ", + "documentation": "\n

The identity for which to set bounce and complaint notification forwarding.\n Examples: user@example.com, example.com.

\n ", "required": true }, "ForwardingEnabled": { "shape_name": "Enabled", "type": "boolean", - "documentation": "\n

Sets whether Amazon SES will forward feedback notifications as email. true specifies \n that Amazon SES will forward feedback notifications as email, in addition to any Amazon SNS topic publishing \n otherwise specified. false specifies that Amazon SES\n will publish feedback notifications only through Amazon SNS. This value can only be \n set to false when topics are specified for both Bounce and \n Complaint topic types.

\n ", + "documentation": "\n

Sets whether Amazon SES will forward bounce and complaint notifications as email. true specifies\n that Amazon SES will forward bounce and complaint notifications as email, in addition to any Amazon SNS topic publishing\n otherwise specified. false specifies that Amazon SES\n will publish bounce and complaint notifications only through Amazon SNS. This value can only be\n set to false when Amazon SNS topics are set for both Bounce and\n Complaint notification types.

\n ", "required": true } }, @@ -705,7 +711,7 @@ "documentation": "\n

An empty element. Receiving this element indicates that the request completed successfully.

\n " }, "errors": [], - "documentation": "\n

Given an identity (email address or domain), enables or disables whether Amazon SES forwards \n feedback notifications as email. Feedback forwarding may only be disabled when both complaint \n and bounce topics are set.

\n

This action is throttled at one request per second.

\n

For more information about feedback notification, \n see the Amazon SES Developer Guide.

\n \n \n \nPOST / HTTP/1.1\nDate: Fri, 15 Jun 2012 20:31:21 GMT\nHost: email.us-east-1.amazonaws.com\nContent-Type: application/x-www-form-urlencoded\nX-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,\n Signature=juNpmD6UJaN+r7gcLa2ZNZpO3AmF1ZfOkD6PgxgNhRA=,\n Algorithm=HmacSHA256, SignedHeaders=Date;Host\nContent-Length: 188\n\nAWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Action=SetIdentityFeedbackForwardingEnabled\n&ForwardingEnabled=true\n&Identity=user%40example.com\n&Timestamp=2012-06-15T20%3A31%3A21.000Z\n&Version=2010-12-01\n\n \n \n \n \n\n \n \n 299f4af4-b72a-11e1-901f-1fbd90e8104f\n \n\n \n \n \n " + "documentation": "\n

Given an identity (email address or domain), enables or disables whether Amazon SES forwards\n bounce and complaint notifications as email. Feedback forwarding can only be disabled when\n Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints.

\n Feedback forwarding does not apply to delivery notifications.\n Delivery notifications are only available through Amazon SNS.\n

This action is throttled at one request per second.

\n

For more information about using notifications with Amazon SES,\n see the Amazon SES Developer Guide.

\n \n \n \nPOST / HTTP/1.1\nDate: Fri, 15 Jun 2012 20:31:21 GMT\nHost: email.us-east-1.amazonaws.com\nContent-Type: application/x-www-form-urlencoded\nX-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,\n Signature=juNpmD6UJaN+r7gcLa2ZNZpO3AmF1ZfOkD6PgxgNhRA=,\n Algorithm=HmacSHA256, SignedHeaders=Date;Host\nContent-Length: 188\n\nAWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Action=SetIdentityFeedbackForwardingEnabled\n&ForwardingEnabled=true\n&Identity=user%40example.com\n&Timestamp=2012-06-15T20%3A31%3A21.000Z\n&Version=2010-12-01\n\n \n \n \n \n\n \n \n 299f4af4-b72a-11e1-901f-1fbd90e8104f\n \n\n \n \n \n " }, "SetIdentityNotificationTopic": { "name": "SetIdentityNotificationTopic", @@ -716,7 +722,7 @@ "Identity": { "shape_name": "Identity", "type": "string", - "documentation": "\n

The identity for which the topic will be set. Examples: user@example.com, example.com.

\n ", + "documentation": "\n

The identity for which the Amazon SNS topic will be set. Examples: user@example.com, example.com.

\n ", "required": true }, "NotificationType": { @@ -724,15 +730,16 @@ "type": "string", "enum": [ "Bounce", - "Complaint" + "Complaint", + "Delivery" ], - "documentation": "\n

The type of feedback notifications that will be published to the specified topic.

\n ", + "documentation": "\n

The type of notifications that will be published to the specified Amazon SNS topic.

\n ", "required": true }, "SnsTopic": { "shape_name": "NotificationTopic", "type": "string", - "documentation": "\n

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic. \n If the parameter is omitted from the request or a null value is passed, the topic is cleared and publishing is disabled.

\n " + "documentation": "\n

The Amazon Resource Name (ARN) of the Amazon SNS topic.\n If the parameter is omitted from the request or a null value is passed, SnsTopic is cleared and publishing is disabled.

\n " } }, "documentation": "\n

Represents a request to set or clear an identity's notification topic.

\n " @@ -744,7 +751,7 @@ "documentation": "\n

An empty element. Receiving this element indicates that the request completed successfully.

\n " }, "errors": [], - "documentation": "\n

Given an identity (email address or domain), sets the Amazon SNS topic to which Amazon SES will publish \n bounce and complaint notifications for emails sent with that identity as the Source. \n Publishing to topics may only be disabled when feedback forwarding is enabled.

\n

This action is throttled at one request per second.

\n

For more information about feedback notification, see the\n Amazon SES Developer Guide.

\n \n \n \nPOST / HTTP/1.1\nDate: Sat, 12 May 2012 05:27:54 GMT\nHost: email.us-east-1.amazonaws.com\nContent-Type: application/x-www-form-urlencoded\nX-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,\n Signature=3+KQ4VHx991T7Kb41HmFcZJxuHz4/6mf2H5FxY+tuLc=,\n Algorithm=HmacSHA256, SignedHeaders=Date;Host\nContent-Length: 203\n\nAWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Action=SetIdentityNotificationTopic\n&Identity=user@example.com\n&SnsTopic=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3Aexample\n&NotificationType=Bounce\n&Timestamp=2012-05-12T05%3A27%3A54.000Z&Version=2010-12-01\n \n \n \n \n\n \n \n 299f4af4-b72a-11e1-901f-1fbd90e8104f\n \n\n \n \n \n " + "documentation": "\n

Given an identity (email address or domain), sets the Amazon Simple Notification Service (Amazon SNS) topic to which Amazon SES will publish\n bounce, complaint, and/or delivery notifications for emails sent with that identity as the Source.

\n Unless feedback forwarding is enabled, you must specify Amazon SNS topics for bounce and complaint notifications.\n For more information, see SetIdentityFeedbackForwardingEnabled.\n \n

This action is throttled at one request per second.

\n

For more information about feedback notification, see the\n Amazon SES Developer Guide.

\n \n \n \nPOST / HTTP/1.1\nDate: Sat, 12 May 2012 05:27:54 GMT\nHost: email.us-east-1.amazonaws.com\nContent-Type: application/x-www-form-urlencoded\nX-Amzn-Authorization: AWS3 AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,\n Signature=3+KQ4VHx991T7Kb41HmFcZJxuHz4/6mf2H5FxY+tuLc=,\n Algorithm=HmacSHA256, SignedHeaders=Date;Host\nContent-Length: 203\n\nAWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Action=SetIdentityNotificationTopic\n&Identity=user@example.com\n&SnsTopic=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3Aexample\n&NotificationType=Bounce\n&Timestamp=2012-05-12T05%3A27%3A54.000Z&Version=2010-12-01\n \n \n \n \n\n \n \n 299f4af4-b72a-11e1-901f-1fbd90e8104f\n \n\n \n \n \n " }, "VerifyDomainDkim": { "name": "VerifyDomainDkim", diff --git a/botocore/handlers.py b/botocore/handlers.py index c17bf03a..e8cef6cf 100644 --- a/botocore/handlers.py +++ b/botocore/handlers.py @@ -259,7 +259,7 @@ def quote_source_header(params, **kwargs): value.encode('utf-8'), '/~') -def copy_snapshot_encrypted(operation, params, **kwargs): +def copy_snapshot_encrypted(operation, params, endpoint, **kwargs): # The presigned URL that facilities copying an encrypted snapshot. # If the user does not provide this value, we will automatically # calculate on behalf of the user and inject the PresignedUrl @@ -268,6 +268,7 @@ def copy_snapshot_encrypted(operation, params, **kwargs): # If the customer provided this value, then there's nothing for # us to do. return + params['DestinationRegion'] = endpoint.region_name # The request will be sent to the destination region, so we need # to create an endpoint to the source region and create a presigned # url based on the source endpoint. diff --git a/botocore/operation.py b/botocore/operation.py index 2151118e..fc19c8cf 100644 --- a/botocore/operation.py +++ b/botocore/operation.py @@ -145,7 +145,12 @@ class Operation(BotoCoreObject): d['payload'] = XMLPayload(root_element_name=root_element_name, namespace=namespace) else: - d['payload'] = JSONPayload() + # rest-json. + payload = self._find_payload() + if payload and payload.type in ('blob', 'string'): + d['payload'] = Payload() + else: + d['payload'] = JSONPayload() return d def build_parameters(self, **kwargs): diff --git a/botocore/service.py b/botocore/service.py index f5964ebe..669eff1e 100644 --- a/botocore/service.py +++ b/botocore/service.py @@ -18,6 +18,7 @@ from .endpoint import get_endpoint from .operation import Operation from .waiter import Waiter from .exceptions import ServiceNotInRegionError, NoRegionError +from .exceptions import UnknownEndpointError logger = logging.getLogger(__name__) @@ -102,8 +103,17 @@ class Service(object): # Use the endpoint resolver heuristics to build the endpoint url. resolver = self.session.get_component('endpoint_resolver') scheme = 'https' if is_secure else 'http' - endpoint = resolver.construct_endpoint( - self.endpoint_prefix, region_name, scheme=scheme) + try: + endpoint = resolver.construct_endpoint( + self.endpoint_prefix, region_name, scheme=scheme) + except UnknownEndpointError: + if endpoint_url is not None: + # If the user provides an endpoint_url, it's ok + # if the heuristics didn't find anything. We use the + # user provided endpoint_url. + endpoint = {'uri': endpoint_url, 'properties': {}} + else: + raise # We only support the credentialScope.region in the properties # bag right now, so if it's available, it will override the # provided region name. diff --git a/botocore/utils.py b/botocore/utils.py index bc916cbc..e93644ef 100644 --- a/botocore/utils.py +++ b/botocore/utils.py @@ -211,8 +211,13 @@ def parse_key_val_file(filename, _open=open): def parse_key_val_file_contents(contents): + # This was originally extracted from the EC2 credential provider, which was + # fairly lenient in its parsing. We only try to parse key/val pairs if + # there's a '=' in the line. final = {} for line in contents.splitlines(): + if '=' not in line: + continue key, val = line.split('=', 1) key = key.strip() val = val.strip() diff --git a/debian/changelog b/debian/changelog index b76ffd1f..9044e812 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +python-botocore (0.55.0-1) unstable; urgency=medium + + * New upstream release + + -- TANIGUCHI Takaki Sun, 06 Jul 2014 17:52:40 +0900 + python-botocore (0.52.0-1) unstable; urgency=medium * New upstream release