Imported Debian patch 0.55.0-1

This commit is contained in:
TANIGUCHI Takaki 2014-07-06 17:52:40 +09:00
commit aeffcc6a75
18 changed files with 10576 additions and 73 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,3 +1,3 @@
six>=1.1.0
jmespath==0.4.1
python-dateutil>=2.1
python-dateutil>=2.1

View file

@ -16,7 +16,7 @@ import os
import re
import logging
__version__ = '0.52.0'
__version__ = '0.55.0'
class NullHandler(logging.Handler):

View file

@ -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)

View file

@ -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"]
],

View file

@ -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
}
}
}
}
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -29,7 +29,7 @@
"shape_name": "PositiveIntegerObject",
"type": "integer",
"min_length": 1,
"documentation": "\n <p>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.</p>\n <p><b>Note:</b> 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.</p>\n ",
"documentation": "\n <p>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.</p>\n <p><b>Note:</b> 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, <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html\">contact AWS Support</a> to increase the limit on your account.</p>\n ",
"required": true
}
},
@ -74,7 +74,7 @@
"documentation": " \n "
}
],
"documentation": "\n \t <p>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 <i>producers</i>. \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.</p> \n\t <p>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.</p>\n\t <p>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. </p> \n\t <p><code>CreateStream</code> is an asynchronous operation. Upon receiving a <code>CreateStream</code> 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. </p> \n\t <p>You receive a <code>LimitExceededException</code> when making a <code>CreateStream</code> request if you try to do one of the following:</p>\n\t <ul> \n\t <li>Have more than five streams in the CREATING state at any point in time.</li>\n\t <li>Create more shards than are authorized for your account.</li>\n\t </ul>\n\t <p><b>Note:</b> 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.</p>\n\t <p>You can use the <code>DescribeStream</code> operation to check the stream status, which is returned in <code>StreamStatus</code>.</p> \n\t <p><code>CreateStream</code> has a limit of 5 transactions per second per account.</p> \n\t <examples>\n\t <example>\n\t <name>Create a Stream </name>\n\t <description>The following is an example of an Amazon Kinesis <code>CreateStream</code> request and response.</description>\n\t <request><![CDATA[\nPOST / HTTP/1.1\nHost: kinesis.<region>.<domain>\nx-amz-Date: <Date>\nAuthorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature>\nUser-Agent: <UserAgentString>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.CreateStream \n\n{\n \"StreamName\":\"exampleStreamName\",\"ShardCount\":3\n}\n\t </request>\n\t <response><![CDATA[\nHTTP/1.1 200 OK\nx-amzn-RequestId: <RequestId>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nDate: <Date>]]>\n\t </response>\n\t </example>\n\t </examples>\n "
"documentation": "\n \t <p>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 <i>producers</i>. \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.</p> \n\t <p>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.</p>\n\t <p>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. </p> \n\t <p><code>CreateStream</code> is an asynchronous operation. Upon receiving a <code>CreateStream</code> 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. </p> \n\t <p>You receive a <code>LimitExceededException</code> when making a <code>CreateStream</code> request if you try to do one of the following:</p>\n\t <ul> \n\t <li>Have more than five streams in the CREATING state at any point in time.</li>\n\t <li>Create more shards than are authorized for your account.</li>\n\t </ul>\n\t <p><b>Note:</b> 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, <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html\">contact AWS Support</a> to increase the limit on your account.</p>\n\t <p>You can use the <code>DescribeStream</code> operation to check the stream status, which is returned in <code>StreamStatus</code>.</p> \n\t <p><code>CreateStream</code> has a limit of 5 transactions per second per account.</p> \n\t <examples>\n\t <example>\n\t <name>Create a Stream </name>\n\t <description>The following is an example of an Amazon Kinesis <code>CreateStream</code> request and response.</description>\n\t <request><![CDATA[\nPOST / HTTP/1.1\nHost: kinesis.<region>.<domain>\nx-amz-Date: <Date>\nAuthorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature>\nUser-Agent: <UserAgentString>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.CreateStream \n\n{\n \"StreamName\":\"exampleStreamName\",\"ShardCount\":3\n}\n\t </request>\n\t <response><![CDATA[\nHTTP/1.1 200 OK\nx-amzn-RequestId: <RequestId>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nDate: <Date>]]>\n\t </response>\n\t </example>\n\t </examples>\n "
},
"DeleteStream": {
"name": "DeleteStream",
@ -549,7 +549,7 @@
"documentation": " \n "
}
],
"documentation": "\n \t <p>This operation returns a shard iterator in <code>ShardIterator</code>. 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. </p>\n\t <p>You must specify the shard iterator type in the <code>GetShardIterator</code> request. \n\t For example, you can set the <code>ShardIteratorType</code> 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 <a>PutRecord</a>, <a>GetRecords</a> or <a>DescribeStream</a> requests. \n\t You can specify the shard iterator type TRIM_HORIZON in the request to cause <code>ShardIterator</code> \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. </p> \n\t <p><b>Note:</b> Each shard iterator expires five minutes after it is returned to the requester.</p>\n\t <p>When you repeatedly read from an Amazon Kinesis stream use a <a>GetShardIterator</a> request to get the first shard iterator to \n\t to use in your first <code>GetRecords</code> request and then use the shard iterator returned by the \n\t <code>GetRecords</code> request in <code>NextShardIterator</code> for subsequent reads.\n\t A new shard iterator is returned by every <code>GetRecords</code> request in <code>NextShardIterator</code>, \n\t which you use in the <code>ShardIterator</code> parameter of the next <code>GetRecords</code> request. </p>\n\t <p>If a <code>GetShardIterator</code> request is made too often, you will receive a <code>ProvisionedThroughputExceededException</code>. \n\t For more information about throughput limits, see the <a href=\"http://docs.aws.amazon.com/kinesis/latest/dev/\">Amazon Kinesis Developer Guide</a>. </p> \n\t <p><code>GetShardIterator</code> can return <code>null</code> for its <code>ShardIterator</code> 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 <a>SplitShard</a> or <a>MergeShards</a> operation.</p> \n\t <p><code>GetShardIterator</code> has a limit of 5 transactions per second per account per shard.</p> \n\t <examples>\n\t <example>\n\t <name>Get a Shard Iterator</name>\n\t <description>The following is an example of an Amazon Kinesis <code>GetShardIterator</code> request and response.</description>\n\t <request><![CDATA[\nPOST / HTTP/1.1\nHost: kinesis.<region>.<domain>\nx-amz-Date: <Date>\nAuthorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature>\nUser-Agent: <UserAgentString>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.GetShardIterator\n\n{\n \"StreamName\": \"exampleStreamName\",\n \"ShardId\": \"shardId-000000000001\",\n \"ShardIteratorType\": \"LATEST\"\n}\n\t </request>\n\t <response><![CDATA[\nHTTP/1.1 200 OK\nx-amzn-RequestId: <RequestId>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nDate: <Date>]]>\n\n{\n \"ShardIterator\": \"AAAAAAAAAAETYyAYzd665+8e0X7JTsASDM/Hr2rSwc0X2qz93iuA3udrjTH+ikQvpQk/1ZcMMLzRdAesqwBGPnsthzU0/CBlM/U8/8oEqGwX3pKw0XyeDNRAAZyXBo3MqkQtCpXhr942BRTjvWKhFz7OmCb2Ncfr8Tl2cBktooi6kJhr+djN5WYkB38Rr3akRgCl9qaU4dY=\" \n}\n\t </response>\n\t </example>\n\t </examples>\n "
"documentation": "\n \t <p>This operation returns a shard iterator in <code>ShardIterator</code>. 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. </p>\n\t <p>You must specify the shard iterator type in the <code>GetShardIterator</code> request. \n\t For example, you can set the <code>ShardIteratorType</code> 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 <a>PutRecord</a>, <a>GetRecords</a> or <a>DescribeStream</a> requests. \n\t You can specify the shard iterator type TRIM_HORIZON in the request to cause <code>ShardIterator</code> \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. </p> \n\t <p><b>Note:</b> Each shard iterator expires five minutes after it is returned to the requester.</p>\n\t <p>When you repeatedly read from an Amazon Kinesis stream use a <a>GetShardIterator</a> request to get the first shard iterator to \n\t to use in your first <code>GetRecords</code> request and then use the shard iterator returned by the \n\t <code>GetRecords</code> request in <code>NextShardIterator</code> for subsequent reads.\n\t A new shard iterator is returned by every <code>GetRecords</code> request in <code>NextShardIterator</code>, \n\t which you use in the <code>ShardIterator</code> parameter of the next <code>GetRecords</code> request. </p>\n\t <p>If a <code>GetShardIterator</code> request is made too often, you will receive a <code>ProvisionedThroughputExceededException</code>. \n\t For more information about throughput limits, see the <a href=\"http://docs.aws.amazon.com/kinesis/latest/dev/\">Amazon Kinesis Developer Guide</a>. </p> \n\t <p><code>GetShardIterator</code> can return <code>null</code> for its <code>ShardIterator</code> 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 <a>SplitShard</a> or <a>MergeShards</a> operation.</p> \n\t <p><code>GetShardIterator</code> has a limit of 5 transactions per second per account per open shard.</p> \n\t <examples>\n\t <example>\n\t <name>Get a Shard Iterator</name>\n\t <description>The following is an example of an Amazon Kinesis <code>GetShardIterator</code> request and response.</description>\n\t <request><![CDATA[\nPOST / HTTP/1.1\nHost: kinesis.<region>.<domain>\nx-amz-Date: <Date>\nAuthorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature>\nUser-Agent: <UserAgentString>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.GetShardIterator\n\n{\n \"StreamName\": \"exampleStreamName\",\n \"ShardId\": \"shardId-000000000001\",\n \"ShardIteratorType\": \"LATEST\"\n}\n\t </request>\n\t <response><![CDATA[\nHTTP/1.1 200 OK\nx-amzn-RequestId: <RequestId>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nDate: <Date>]]>\n\n{\n \"ShardIterator\": \"AAAAAAAAAAETYyAYzd665+8e0X7JTsASDM/Hr2rSwc0X2qz93iuA3udrjTH+ikQvpQk/1ZcMMLzRdAesqwBGPnsthzU0/CBlM/U8/8oEqGwX3pKw0XyeDNRAAZyXBo3MqkQtCpXhr942BRTjvWKhFz7OmCb2Ncfr8Tl2cBktooi6kJhr+djN5WYkB38Rr3akRgCl9qaU4dY=\" \n}\n\t </response>\n\t </example>\n\t </examples>\n "
},
"ListStreams": {
"name": "ListStreams",
@ -735,7 +735,7 @@
"type": "blob",
"min_length": 0,
"max_length": 51200,
"documentation": "\n <p>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) </p> \n ",
"documentation": "\n <p>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) </p> \n ",
"required": true
},
"PartitionKey": {
@ -909,7 +909,7 @@
"documentation": " \n "
}
],
"documentation": "\n\t <p>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 <code>SplitShard</code> 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. </p>\n\t <p><code>SplitShard</code> 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 <code>SplitShard</code> operation to increase stream capacity, so that more\n\t Amazon Kinesis applications can simultaneously read data from the stream for real-time processing. </p> \n\t <p>The <code>SplitShard</code> 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 <a href=\"http://docs.aws.amazon.com/kinesis/latest/dev/\">Amazon Kinesis Developer Guide</a>.\n\t </p>\n\t <p>You can use the <a>DescribeStream</a> operation to determine the shard ID and hash key values for the \n\t <code>ShardToSplit</code> and <code>NewStartingHashKey</code> parameters that are specified in the <code>SplitShard</code> request.</p>\n\t <p><code>SplitShard</code> is an asynchronous operation. Upon receiving a <code>SplitShard</code> 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 </p>\n\t <p>You can use <code>DescribeStream</code> to check the status of the stream, which is returned in <code>StreamStatus</code>. \n\t If the stream is in the ACTIVE state, you can call <code>SplitShard</code>. \n\t If a stream is in CREATING or UPDATING or DELETING states, then Amazon Kinesis returns a <code>ResourceInUseException</code>.</p> \n\t <p>If the specified stream does not exist, Amazon Kinesis returns a <code>ResourceNotFoundException</code>. \n\t If you try to create more shards than are authorized for your account, you receive a <code>LimitExceededException</code>. </p>\n\t <p><b>Note:</b> 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.</p>\n\t <p>If you try to operate on too many streams in parallel using <a>CreateStream</a>, <a>DeleteStream</a>, <a>MergeShards</a> or <a>SplitShard</a>, \n\t you will receive a <code>LimitExceededException</code>. </p> \n\t <p><code>SplitShard</code> has limit of 5 transactions per second per account.</p>\n\t <examples>\n\t <example>\n\t <name>Split a Shard </name>\n\t <description>The following is an example of an Amazon Kinesis <code>SplitShard</code> request and response.</description>\n\t <request><![CDATA[\nPOST / HTTP/1.1\nHost: kinesis.<region>.<domain>\nx-amz-Date: <Date>\nAuthorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature>\nUser-Agent: <UserAgentString>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.SplitShard\n\n{\n \"StreamName\": \"exampleStreamName\",\n \"ShardToSplit\": \"shardId-000000000000\",\n \"NewStartingHashKey\": \"10\"\n}\n\t </request>\n\t <response><![CDATA[\nHTTP/1.1 200 OK\nx-amzn-RequestId: <RequestId>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nDate: <Date>]]>\n\t </response>\n\t </example>\n\t </examples> \n "
"documentation": "\n\t <p>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 <code>SplitShard</code> 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. </p>\n\t <p><code>SplitShard</code> 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 <code>SplitShard</code> operation to increase stream capacity, so that more\n\t Amazon Kinesis applications can simultaneously read data from the stream for real-time processing. </p> \n\t <p>The <code>SplitShard</code> 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 <a href=\"http://docs.aws.amazon.com/kinesis/latest/dev/\">Amazon Kinesis Developer Guide</a>.\n\t </p>\n\t <p>You can use the <a>DescribeStream</a> operation to determine the shard ID and hash key values for the \n\t <code>ShardToSplit</code> and <code>NewStartingHashKey</code> parameters that are specified in the <code>SplitShard</code> request.</p>\n\t <p><code>SplitShard</code> is an asynchronous operation. Upon receiving a <code>SplitShard</code> 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 </p>\n\t <p>You can use <code>DescribeStream</code> to check the status of the stream, which is returned in <code>StreamStatus</code>. \n\t If the stream is in the ACTIVE state, you can call <code>SplitShard</code>. \n\t If a stream is in CREATING or UPDATING or DELETING states, then Amazon Kinesis returns a <code>ResourceInUseException</code>.</p> \n\t <p>If the specified stream does not exist, Amazon Kinesis returns a <code>ResourceNotFoundException</code>. \n\t If you try to create more shards than are authorized for your account, you receive a <code>LimitExceededException</code>. </p>\n\t <p><b>Note:</b> 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, <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html\">contact AWS Support</a> to increase the limit on your account.</p>\n\t <p>If you try to operate on too many streams in parallel using <a>CreateStream</a>, <a>DeleteStream</a>, <a>MergeShards</a> or <a>SplitShard</a>, \n\t you will receive a <code>LimitExceededException</code>. </p> \n\t <p><code>SplitShard</code> has limit of 5 transactions per second per account.</p>\n\t <examples>\n\t <example>\n\t <name>Split a Shard </name>\n\t <description>The following is an example of an Amazon Kinesis <code>SplitShard</code> request and response.</description>\n\t <request><![CDATA[\nPOST / HTTP/1.1\nHost: kinesis.<region>.<domain>\nx-amz-Date: <Date>\nAuthorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=content-type;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature>\nUser-Agent: <UserAgentString>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nConnection: Keep-Alive]]>\nX-Amz-Target: Kinesis_20131202.SplitShard\n\n{\n \"StreamName\": \"exampleStreamName\",\n \"ShardToSplit\": \"shardId-000000000000\",\n \"NewStartingHashKey\": \"10\"\n}\n\t </request>\n\t <response><![CDATA[\nHTTP/1.1 200 OK\nx-amzn-RequestId: <RequestId>\nContent-Type: application/x-amz-json-1.1\nContent-Length: <PayloadSizeBytes>\nDate: <Date>]]>\n\t </response>\n\t </example>\n\t </examples> \n "
}
},
"pagination": {

View file

@ -313,7 +313,7 @@
"Password": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles, and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
},
"SshKey": {
"shape_name": "String",
@ -429,6 +429,33 @@
"type": "string",
"documentation": "\n <p>A description of the app.</p>\n "
},
"DataSources": {
"shape_name": "DataSources",
"type": "list",
"members": {
"shape_name": "DataSource",
"type": "structure",
"members": {
"Type": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The data source's type, <code>AutoSelectOpsworksMysqlInstance</code>, <code>OpsworksMysqlInstance</code>, or <code>RdsDbInstance</code>.</p>\n "
},
"Arn": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The data source's ARN.</p>\n "
},
"DatabaseName": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The database name.</p>\n "
}
},
"documentation": "\n <p>Describes an app's data source.</p>\n "
},
"documentation": "\n <p>The app's data source.</p>\n "
},
"Type": {
"shape_name": "AppType",
"type": "string",
@ -470,7 +497,7 @@
"Password": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles, and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
},
"SshKey": {
"shape_name": "String",
@ -777,6 +804,11 @@
"type": "string",
"documentation": "\n <p>The instance Availability Zone. For more information, see\n <a href=\"http://docs.aws.amazon.com/general/latest/gr/rande.html\">Regions and Endpoints</a>.</p>\n "
},
"VirtualizationType": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The instance's virtualization type, <code>paravirtual</code> or <code>hvm</code>.</p>\n "
},
"SubnetId": {
"shape_name": "String",
"type": "string",
@ -1294,7 +1326,7 @@
"Password": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles, and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
},
"SshKey": {
"shape_name": "String",
@ -1689,6 +1721,50 @@
],
"documentation": "\n <p>Deregisters a specified Elastic IP address. The address can then be registered by another stack. For more information, see\n <a href=\"http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html\">Resource Management</a>.</p>\n <p><b>Required Permissions</b>: 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 <a href=\"http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html\">Managing User Permissions</a>.</p>\n "
},
"DeregisterRdsDbInstance": {
"name": "DeregisterRdsDbInstance",
"input": {
"shape_name": "DeregisterRdsDbInstanceRequest",
"type": "structure",
"members": {
"RdsDbInstanceArn": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The Amazon RDS instance's ARN.</p>\n ",
"required": true
}
},
"documentation": null
},
"output": null,
"errors": [
{
"shape_name": "ValidationException",
"type": "structure",
"members": {
"message": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The exception message.</p>\n "
}
},
"documentation": "\n <p>Indicates that a request was invalid.</p> \n "
},
{
"shape_name": "ResourceNotFoundException",
"type": "structure",
"members": {
"message": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The exception message.</p>\n "
}
},
"documentation": "\n <p>Indicates that a resource was not found.</p>\n "
}
],
"documentation": "\n <p>Deregisters an Amazon RDS instance.</p>\n "
},
"DeregisterVolume": {
"name": "DeregisterVolume",
"input": {
@ -1793,6 +1869,33 @@
"type": "string",
"documentation": "\n <p>A description of the app.</p>\n "
},
"DataSources": {
"shape_name": "DataSources",
"type": "list",
"members": {
"shape_name": "DataSource",
"type": "structure",
"members": {
"Type": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The data source's type, <code>AutoSelectOpsworksMysqlInstance</code>, <code>OpsworksMysqlInstance</code>, or <code>RdsDbInstance</code>.</p>\n "
},
"Arn": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The data source's ARN.</p>\n "
},
"DatabaseName": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The database name.</p>\n "
}
},
"documentation": "\n <p>Describes an app's data source.</p>\n "
},
"documentation": "\n <p>The app's data sources.</p>\n "
},
"Type": {
"shape_name": "AppType",
"type": "string",
@ -1833,7 +1936,7 @@
"Password": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles, and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
},
"SshKey": {
"shape_name": "String",
@ -1856,7 +1959,7 @@
"type": "string",
"documentation": null
},
"documentation": "\n <p>The app vhost settings, with multiple domains separated by commas. For example: <code>'www.example.com, example.com'</code></p>\n "
"documentation": "\n <p>The app vhost settings with multiple domains separated by commas. For example: <code>'www.example.com, example.com'</code></p>\n "
},
"EnableSsl": {
"shape_name": "Boolean",
@ -2540,6 +2643,11 @@
"type": "string",
"documentation": "\n <p>The ID of the associated Amazon EC2 instance.</p>\n "
},
"VirtualizationType": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The instance's virtualization type, <code>paravirtual</code> or <code>hvm</code>.</p>\n "
},
"Hostname": {
"shape_name": "String",
"type": "string",
@ -3552,6 +3660,124 @@
],
"documentation": "\n <p>Describe an instance's RAID arrays.</p>\n <note>\n <p>You must specify at least one of the parameters.</p>\n </note>\n <p><b>Required Permissions</b>: 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 <a href=\"http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html\">Managing User Permissions</a>.</p>\n "
},
"DescribeRdsDbInstances": {
"name": "DescribeRdsDbInstances",
"input": {
"shape_name": "DescribeRdsDbInstancesRequest",
"type": "structure",
"members": {
"StackId": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The stack ID that the instances are registered with. The operation returns descriptions of all registered Amazon RDS instances.</p>\n ",
"required": true
},
"RdsDbInstanceArns": {
"shape_name": "Strings",
"type": "list",
"members": {
"shape_name": "String",
"type": "string",
"documentation": null
},
"documentation": "\n <p>An array containing the ARNs of the instances to be described.</p>\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 <p>The instance's ARN.</p>\n "
},
"DbInstanceIdentifier": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The DB instance identifier.</p>\n "
},
"DbUser": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The master user name.</p>\n "
},
"DbPassword": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The database password.</p>\n "
},
"Region": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The instance's AWS region.</p>\n "
},
"Address": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The instance's address.</p>\n "
},
"Engine": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The instance's database engine.</p>\n "
},
"StackId": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The ID of the stack that the instance is registered with.</p>\n "
},
"MissingOnRds": {
"shape_name": "Boolean",
"type": "boolean",
"box": true,
"documentation": "\n <p>Set to <code>true</code> 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 <code>true</code>,\n you must deregister the instance and then register it again.</p>\n "
}
},
"documentation": "\n <p>Describes an Amazon RDS instance.</p>\n "
},
"documentation": "\n <p>An a array of <code>RdsDbInstance</code> objects that describe the instances.</p>\n "
}
},
"documentation": "\n <p>Contains the response to a <code>DescribeRdsDbInstances</code> request.</p>\n "
},
"errors": [
{
"shape_name": "ValidationException",
"type": "structure",
"members": {
"message": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The exception message.</p>\n "
}
},
"documentation": "\n <p>Indicates that a request was invalid.</p> \n "
},
{
"shape_name": "ResourceNotFoundException",
"type": "structure",
"members": {
"message": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The exception message.</p>\n "
}
},
"documentation": "\n <p>Indicates that a resource was not found.</p>\n "
}
],
"documentation": "\n <p>Describes Amazon RDS instances.</p>\n "
},
"DescribeServiceErrors": {
"name": "DescribeServiceErrors",
"input": {
@ -4016,7 +4242,7 @@
"Password": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles, and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
},
"SshKey": {
"shape_name": "String",
@ -4757,6 +4983,68 @@
],
"documentation": "\n <p>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 <a>DeregisterElasticIp</a>. For more information, see\n <a href=\"http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html\">Resource Management</a>.</p>\n <p><b>Required Permissions</b>: 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 <a href=\"http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html\">Managing User Permissions</a>.</p> "
},
"RegisterRdsDbInstance": {
"name": "RegisterRdsDbInstance",
"input": {
"shape_name": "RegisterRdsDbInstanceRequest",
"type": "structure",
"members": {
"StackId": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The stack ID.</p>\n ",
"required": true
},
"RdsDbInstanceArn": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The Amazon RDS instance's ARN.</p>\n ",
"required": true
},
"DbUser": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The database's master user name.</p>\n ",
"required": true
},
"DbPassword": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The database password.</p>\n ",
"required": true
}
},
"documentation": null
},
"output": null,
"errors": [
{
"shape_name": "ValidationException",
"type": "structure",
"members": {
"message": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The exception message.</p>\n "
}
},
"documentation": "\n <p>Indicates that a request was invalid.</p> \n "
},
{
"shape_name": "ResourceNotFoundException",
"type": "structure",
"members": {
"message": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The exception message.</p>\n "
}
},
"documentation": "\n <p>Indicates that a resource was not found.</p>\n "
}
],
"documentation": "\n <p>Registers an Amazon RDS instance with a stack.</p>\n "
},
"RegisterVolume": {
"name": "RegisterVolume",
"input": {
@ -5422,6 +5710,33 @@
"type": "string",
"documentation": "\n <p>A description of the app.</p>\n "
},
"DataSources": {
"shape_name": "DataSources",
"type": "list",
"members": {
"shape_name": "DataSource",
"type": "structure",
"members": {
"Type": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The data source's type, <code>AutoSelectOpsworksMysqlInstance</code>, <code>OpsworksMysqlInstance</code>, or <code>RdsDbInstance</code>.</p>\n "
},
"Arn": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The data source's ARN.</p>\n "
},
"DatabaseName": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The database name.</p>\n "
}
},
"documentation": "\n <p>Describes an app's data source.</p>\n "
},
"documentation": "\n <p>The app's data sources.</p>\n "
},
"Type": {
"shape_name": "AppType",
"type": "string",
@ -5462,7 +5777,7 @@
"Password": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles, and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
},
"SshKey": {
"shape_name": "String",
@ -5688,6 +6003,12 @@
"type": "boolean",
"box": true,
"documentation": "\n <p>Whether to install operating system and package updates when the instance boots. The default value is <code>true</code>.\n To control when updates are installed, set this value to <code>false</code>. You must then update your instances manually by\n using <a>CreateDeployment</a> to run the <code>update_dependencies</code> stack command or\n manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.\n </p>\n <note>\n <p>We strongly recommend using the default value of <code>true</code>, to ensure that your\n instances have the latest security updates.</p>\n </note>\n "
},
"EbsOptimized": {
"shape_name": "Boolean",
"type": "boolean",
"box": true,
"documentation": "\n <p>Whether this is an Amazon EBS-optimized instance.</p>\n "
}
},
"documentation": null
@ -6008,6 +6329,60 @@
],
"documentation": "\n <p>Updates a user's SSH public key.</p>\n <p><b>Required Permissions</b>: 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 <a href=\"http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html\">Managing User Permissions</a>.</p>\n "
},
"UpdateRdsDbInstance": {
"name": "UpdateRdsDbInstance",
"input": {
"shape_name": "UpdateRdsDbInstanceRequest",
"type": "structure",
"members": {
"RdsDbInstanceArn": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The Amazon RDS instance's ARN.</p>\n ",
"required": true
},
"DbUser": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The master user name.</p>\n "
},
"DbPassword": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The database password.</p>\n "
}
},
"documentation": null
},
"output": null,
"errors": [
{
"shape_name": "ValidationException",
"type": "structure",
"members": {
"message": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The exception message.</p>\n "
}
},
"documentation": "\n <p>Indicates that a request was invalid.</p> \n "
},
{
"shape_name": "ResourceNotFoundException",
"type": "structure",
"members": {
"message": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>The exception message.</p>\n "
}
},
"documentation": "\n <p>Indicates that a resource was not found.</p>\n "
}
],
"documentation": "\n <p>Updates an Amazon RDS instance.</p>\n "
},
"UpdateStack": {
"name": "UpdateStack",
"input": {
@ -6147,7 +6522,7 @@
"Password": {
"shape_name": "String",
"type": "string",
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles, and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
"documentation": "\n <p>This parameter depends on the repository type. </p>\n <ul>\n <li>For Amazon S3 bundles, set <code>Password</code> to the appropriate IAM secret access key.</li>\n <li>For HTTP bundles and Subversion repositories, set <code>Password</code> to the password.</li>\n </ul>\n <p>For more information on how to safely handle IAM credentials, see <a href=\"http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html\"></a>.</p>\n "
},
"SshKey": {
"shape_name": "String",

View file

@ -169,32 +169,38 @@
"BounceTopic": {
"shape_name": "NotificationTopic",
"type": "string",
"documentation": "\n <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic \n where Amazon SES will publish bounce notifications.</p>\n ",
"documentation": "\n <p>The Amazon Resource Name (ARN) of the Amazon SNS topic\n where Amazon SES will publish bounce notifications.</p>\n ",
"required": true
},
"ComplaintTopic": {
"shape_name": "NotificationTopic",
"type": "string",
"documentation": "\n <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic \n where Amazon SES will publish complaint notifications.</p>\n ",
"documentation": "\n <p>The Amazon Resource Name (ARN) of the Amazon SNS topic\n where Amazon SES will publish complaint notifications.</p>\n ",
"required": true
},
"DeliveryTopic": {
"shape_name": "NotificationTopic",
"type": "string",
"documentation": "\n <p>The Amazon Resource Name (ARN) of the Amazon SNS topic\n where Amazon SES will publish delivery notifications.</p>\n ",
"required": true
},
"ForwardingEnabled": {
"shape_name": "Enabled",
"type": "boolean",
"documentation": "\n <p>Describes whether Amazon SES will forward feedback as email. <code>true</code> indicates \n that Amazon SES will forward feedback as email, while <code>false</code> indicates that \n feedback will be published only to the specified Bounce and Complaint topics.</p>\n ",
"documentation": "\n <p>Describes whether Amazon SES will forward bounce and complaint notifications as email. <code>true</code> indicates\n that Amazon SES will forward bounce and complaint notifications as email, while <code>false</code> indicates that\n bounce and complaint notifications will be published only to the specified bounce and complaint Amazon SNS topics.</p>\n ",
"required": true
}
},
"documentation": "\n <p>Represents the notification attributes of an identity, including whether a bounce \n or complaint topic are set, and whether feedback forwarding is enabled.</p>\n "
"documentation": "\n <p>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.</p>\n "
},
"documentation": "\n <p>A map of Identity to IdentityNotificationAttributes.</p>\n ",
"required": true
}
},
"documentation": "\n <p>Describes whether an identity has a bounce topic or complaint topic set, or feedback \n forwarding enabled.</p>\n "
"documentation": "\n <p>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.</p>\n "
},
"errors": [],
"documentation": "\n <p>Given a list of verified identities (email addresses and/or domains), returns a structure describing identity \n notification attributes.</p>\n <p>This action is throttled at one request per second.</p>\n <p>For more information about feedback notification, see the \n <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/bounce-complaint-notifications.html\">Amazon SES Developer Guide</a>.</p>\n <examples>\n <queryrequest>\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 </queryrequest>\n <queryresponse>\n \n<GetIdentityNotificationAttributesResponse xmlns=\"http://ses.amazonaws.com/doc/2010-12-01/\">\n <GetIdentityNotificationAttributesResult>\n <NotificationAttributes>\n <entry>\n <key>user@example.com</key>\n <value>\n <ForwardingEnabled>true</ForwardingEnabled>\n <BounceTopic>arn:aws:sns:us-east-1:123456789012:example</BounceTopic>\n <ComplaintTopic>arn:aws:sns:us-east-1:123456789012:example</ComplaintTopic>\n </value>\n </entry>\n </NotificationAttributes>\n </GetIdentityNotificationAttributesResult>\n <ResponseMetadata>\n <RequestId>e038e509-b72a-11e1-901f-1fbd90e8104f</RequestId>\n </ResponseMetadata>\n</GetIdentityNotificationAttributesResponse>\n \n </queryresponse>\n </examples>\n "
"documentation": "\n <p>Given a list of verified identities (email addresses and/or domains), returns a structure describing identity \n notification attributes.</p>\n <p>This action is throttled at one request per second.</p>\n <p>For more information about using notifications with Amazon SES, see the\n <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html\">Amazon SES Developer Guide</a>.</p>\n <examples>\n <queryrequest>\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 </queryrequest>\n <queryresponse>\n \n<GetIdentityNotificationAttributesResponse xmlns=\"http://ses.amazonaws.com/doc/2010-12-01/\">\n <GetIdentityNotificationAttributesResult>\n <NotificationAttributes>\n <entry>\n <key>user@example.com</key>\n <value>\n <ForwardingEnabled>true</ForwardingEnabled>\n <BounceTopic>arn:aws:sns:us-east-1:123456789012:example</BounceTopic>\n <ComplaintTopic>arn:aws:sns:us-east-1:123456789012:example</ComplaintTopic>\n <DeliveryTopic>arn:aws:sns:us-east-1:123456789012:example</DeliveryTopic>\n </value>\n </entry>\n </NotificationAttributes>\n </GetIdentityNotificationAttributesResult>\n <ResponseMetadata>\n <RequestId>e038e509-b72a-11e1-901f-1fbd90e8104f</RequestId>\n </ResponseMetadata>\n</GetIdentityNotificationAttributesResponse>\n \n </queryresponse>\n </examples>\n "
},
"GetIdentityVerificationAttributes": {
"name": "GetIdentityVerificationAttributes",
@ -558,7 +564,7 @@
"ReturnPath": {
"shape_name": "Address",
"type": "string",
"documentation": "\n <p>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 <code>ReturnPath</code>\n parameter.\n </p>\n "
"documentation": "\n <p>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 <code>ReturnPath</code>\n parameter.\n </p>\n "
}
},
"documentation": "\n <p>Represents a request instructing the service to send a single email message.</p>\n <p>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 <code>SendEmail</code>\n action.\n </p>\n "
@ -595,7 +601,7 @@
"Source": {
"shape_name": "Address",
"type": "string",
"documentation": "\n <p>The identity's email address.</p>\n <p>\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: <code>=?charset?encoding?encoded-text?=</code>. \n For more information, see <a href=\"http://tools.ietf.org/html/rfc2047\">RFC 2047</a>.\n </p>\n <note>If you specify the\n <code>Source</code>\n parameter, then bounce notifications and\n complaints will be sent to this email address. This takes precedence over any\n <i>Return-Path</i>\n header that you might include in the raw text of the message.\n </note>\n "
"documentation": "\n <p>The identity's email address.</p>\n <p>\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: <code>=?charset?encoding?encoded-text?=</code>. \n For more information, see <a href=\"http://tools.ietf.org/html/rfc2047\">RFC 2047</a>.\n </p>\n <note>If you specify the\n <code>Source</code>\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 <i>Return-Path</i>\n header that you might include in the raw text of the message.\n </note>\n "
},
"Destinations": {
"shape_name": "AddressList",
@ -605,7 +611,7 @@
"type": "string",
"documentation": null
},
"documentation": "\n <p>A list of destinations for the message.</p>\n "
"documentation": "\n <p>A list of destinations for the message, consisting of To:, CC:, and BCC: addresses.</p>\n "
},
"RawMessage": {
"shape_name": "RawMessage",
@ -614,7 +620,7 @@
"Data": {
"shape_name": "RawMessageData",
"type": "blob",
"documentation": "\n <p>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 </p>\n <p>For more information, go to the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html\">Amazon SES Developer Guide</a>.\n </p>\n ",
"documentation": "\n <p>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 </p>\n <p>The To:, CC:, and BCC: headers in the raw message can contain a group list.\n </p>\n <p>For more information, go to the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html\">Amazon SES Developer Guide</a>.\n </p>\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 <p>Sends an email message, with header and content specified by the client. The\n <code>SendRawEmail</code>\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 </p>\n <important>\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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html\">Amazon SES\n Developer Guide</a>.\n </important>\n <p>The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.</p>\n <p>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 </p>\n <p>For every message that you send, the total number of recipients (To:, CC: and BCC:) is\n counted against your\n <i>sending quota</i>\n - the maximum number of emails you can send in\n a 24-hour period. For information about your sending quota, go to the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html\">Amazon SES\n Developer Guide</a>.\n </p>\n <examples>\n <queryrequest>\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 </queryrequest>\n <queryresponse>\n \n<SendRawEmailResponse xmlns=\"http://ses.amazonaws.com/doc/2010-12-01/\">\n <SendRawEmailResult>\n <MessageId>00000131d51d6b36-1d4f9293-0aee-4503-b573-9ae4e70e9e38-000000</MessageId>\n </SendRawEmailResult>\n <ResponseMetadata>\n <RequestId>e0abcdfa-c866-11e0-b6d0-273d09173b49</RequestId>\n </ResponseMetadata>\n</SendRawEmailResponse>\n \n </queryresponse>\n </examples>\n "
"documentation": "\n <p>Sends an email message, with header and content specified by the client. The\n <code>SendRawEmail</code>\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 </p>\n <important>\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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html\">Amazon SES\n Developer Guide</a>.\n </important>\n <p>The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.</p>\n <p>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 </p>\n <p>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 </p>\n <p>For every message that you send, the total number of recipients (To:, CC: and BCC:) is\n counted against your\n <i>sending quota</i>\n - the maximum number of emails you can send in\n a 24-hour period. For information about your sending quota, go to the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html\">Amazon SES\n Developer Guide</a>.\n </p>\n <examples>\n <queryrequest>\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 </queryrequest>\n <queryresponse>\n \n<SendRawEmailResponse xmlns=\"http://ses.amazonaws.com/doc/2010-12-01/\">\n <SendRawEmailResult>\n <MessageId>00000131d51d6b36-1d4f9293-0aee-4503-b573-9ae4e70e9e38-000000</MessageId>\n </SendRawEmailResult>\n <ResponseMetadata>\n <RequestId>e0abcdfa-c866-11e0-b6d0-273d09173b49</RequestId>\n </ResponseMetadata>\n</SendRawEmailResponse>\n \n </queryresponse>\n </examples>\n "
},
"SetIdentityDkimEnabled": {
"name": "SetIdentityDkimEnabled",
@ -686,13 +692,13 @@
"Identity": {
"shape_name": "Identity",
"type": "string",
"documentation": "\n <p>The identity for which to set feedback notification forwarding. \n Examples: <code>user@example.com</code>, <code>example.com</code>.</p>\n ",
"documentation": "\n <p>The identity for which to set bounce and complaint notification forwarding.\n Examples: <code>user@example.com</code>, <code>example.com</code>.</p>\n ",
"required": true
},
"ForwardingEnabled": {
"shape_name": "Enabled",
"type": "boolean",
"documentation": "\n <p>Sets whether Amazon SES will forward feedback notifications as email. <code>true</code> specifies \n that Amazon SES will forward feedback notifications as email, in addition to any Amazon SNS topic publishing \n otherwise specified. <code>false</code> specifies that Amazon SES\n will publish feedback notifications only through Amazon SNS. This value can only be \n set to <code>false</code> when topics are specified for both <code>Bounce</code> and \n <code>Complaint</code> topic types.</p>\n ",
"documentation": "\n <p>Sets whether Amazon SES will forward bounce and complaint notifications as email. <code>true</code> specifies\n that Amazon SES will forward bounce and complaint notifications as email, in addition to any Amazon SNS topic publishing\n otherwise specified. <code>false</code> specifies that Amazon SES\n will publish bounce and complaint notifications only through Amazon SNS. This value can only be\n set to <code>false</code> when Amazon SNS topics are set for both <code>Bounce</code> and\n <code>Complaint</code> notification types.</p>\n ",
"required": true
}
},
@ -705,7 +711,7 @@
"documentation": "\n <p>An empty element. Receiving this element indicates that the request completed successfully.</p>\n "
},
"errors": [],
"documentation": "\n <p>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.</p>\n <p>This action is throttled at one request per second.</p>\n <p>For more information about feedback notification, \n see the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/bounce-complaint-notifications.html\">Amazon SES Developer Guide</a>.</p>\n <examples>\n <queryrequest>\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 </queryrequest>\n <queryresponse>\n \n<SetIdentityFeedbackForwardingEnabledResponse xmlns=\"http://ses.amazonaws.com/doc/2010-12-01/\">\n <SetIdentityFeedbackForwardingEnabledResult/>\n <ResponseMetadata>\n <RequestId>299f4af4-b72a-11e1-901f-1fbd90e8104f</RequestId>\n </ResponseMetadata>\n</SetIdentityFeedbackForwardingEnabledResponse>\n \n </queryresponse>\n </examples>\n "
"documentation": "\n <p>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.</p>\n <note>Feedback forwarding does not apply to delivery notifications.\n Delivery notifications are only available through Amazon SNS.</note>\n <p>This action is throttled at one request per second.</p>\n <p>For more information about using notifications with Amazon SES,\n see the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html\">Amazon SES Developer Guide</a>.</p>\n <examples>\n <queryrequest>\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 </queryrequest>\n <queryresponse>\n \n<SetIdentityFeedbackForwardingEnabledResponse xmlns=\"http://ses.amazonaws.com/doc/2010-12-01/\">\n <SetIdentityFeedbackForwardingEnabledResult/>\n <ResponseMetadata>\n <RequestId>299f4af4-b72a-11e1-901f-1fbd90e8104f</RequestId>\n </ResponseMetadata>\n</SetIdentityFeedbackForwardingEnabledResponse>\n \n </queryresponse>\n </examples>\n "
},
"SetIdentityNotificationTopic": {
"name": "SetIdentityNotificationTopic",
@ -716,7 +722,7 @@
"Identity": {
"shape_name": "Identity",
"type": "string",
"documentation": "\n <p>The identity for which the topic will be set. Examples: <code>user@example.com</code>, <code>example.com</code>.</p>\n ",
"documentation": "\n <p>The identity for which the Amazon SNS topic will be set. Examples: <code>user@example.com</code>, <code>example.com</code>.</p>\n ",
"required": true
},
"NotificationType": {
@ -724,15 +730,16 @@
"type": "string",
"enum": [
"Bounce",
"Complaint"
"Complaint",
"Delivery"
],
"documentation": "\n <p>The type of feedback notifications that will be published to the specified topic.</p>\n ",
"documentation": "\n <p>The type of notifications that will be published to the specified Amazon SNS topic.</p>\n ",
"required": true
},
"SnsTopic": {
"shape_name": "NotificationTopic",
"type": "string",
"documentation": "\n <p>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.</p>\n "
"documentation": "\n <p>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, <code>SnsTopic</code> is cleared and publishing is disabled.</p>\n "
}
},
"documentation": "\n <p>Represents a request to set or clear an identity's notification topic.</p>\n "
@ -744,7 +751,7 @@
"documentation": "\n <p>An empty element. Receiving this element indicates that the request completed successfully.</p>\n "
},
"errors": [],
"documentation": "\n <p>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 <code>Source</code>. \n Publishing to topics may only be disabled when feedback forwarding is enabled.</p>\n <p>This action is throttled at one request per second.</p>\n <p>For more information about feedback notification, see the\n <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/bounce-complaint-notifications.html\">Amazon SES Developer Guide</a>.</p>\n <examples>\n <queryrequest>\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 </queryrequest>\n <queryresponse>\n \n<SetIdentityNotificationTopicResponse xmlns=\"http://ses.amazonaws.com/doc/2010-12-01/\">\n <SetIdentityNotificationTopicResult/>\n <ResponseMetadata>\n <RequestId>299f4af4-b72a-11e1-901f-1fbd90e8104f</RequestId>\n </ResponseMetadata>\n</SetIdentityNotificationTopicResponse>\n \n </queryresponse>\n </examples>\n "
"documentation": "\n <p>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 <code>Source</code>.</p>\n <note>Unless feedback forwarding is enabled, you must specify Amazon SNS topics for bounce and complaint notifications.\n For more information, see <code>SetIdentityFeedbackForwardingEnabled</code>.\n </note>\n <p>This action is throttled at one request per second.</p>\n <p>For more information about feedback notification, see the\n <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html\">Amazon SES Developer Guide</a>.</p>\n <examples>\n <queryrequest>\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 </queryrequest>\n <queryresponse>\n \n<SetIdentityNotificationTopicResponse xmlns=\"http://ses.amazonaws.com/doc/2010-12-01/\">\n <SetIdentityNotificationTopicResult/>\n <ResponseMetadata>\n <RequestId>299f4af4-b72a-11e1-901f-1fbd90e8104f</RequestId>\n </ResponseMetadata>\n</SetIdentityNotificationTopicResponse>\n \n </queryresponse>\n </examples>\n "
},
"VerifyDomainDkim": {
"name": "VerifyDomainDkim",

View file

@ -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.

View file

@ -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):

View file

@ -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.

View file

@ -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()

6
debian/changelog vendored
View file

@ -1,3 +1,9 @@
python-botocore (0.55.0-1) unstable; urgency=medium
* New upstream release
-- TANIGUCHI Takaki <takaki@debian.org> Sun, 06 Jul 2014 17:52:40 +0900
python-botocore (0.52.0-1) unstable; urgency=medium
* New upstream release