diff --git a/PKG-INFO b/PKG-INFO index c382b759..608d3805 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: botocore -Version: 1.4.60 +Version: 1.4.64 Summary: Low-level, data-driven core of boto 3. Home-page: https://github.com/boto/botocore Author: Amazon Web Services diff --git a/botocore.egg-info/PKG-INFO b/botocore.egg-info/PKG-INFO index c382b759..608d3805 100644 --- a/botocore.egg-info/PKG-INFO +++ b/botocore.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: botocore -Version: 1.4.60 +Version: 1.4.64 Summary: Low-level, data-driven core of boto 3. Home-page: https://github.com/boto/botocore Author: Amazon Web Services diff --git a/botocore.egg-info/SOURCES.txt b/botocore.egg-info/SOURCES.txt index db713619..c7c1ce7e 100644 --- a/botocore.egg-info/SOURCES.txt +++ b/botocore.egg-info/SOURCES.txt @@ -83,6 +83,9 @@ botocore/data/cloudfront/2016-08-20/waiters-2.json botocore/data/cloudfront/2016-09-07/paginators-1.json botocore/data/cloudfront/2016-09-07/service-2.json botocore/data/cloudfront/2016-09-07/waiters-2.json +botocore/data/cloudfront/2016-09-29/paginators-1.json +botocore/data/cloudfront/2016-09-29/service-2.json +botocore/data/cloudfront/2016-09-29/waiters-2.json botocore/data/cloudhsm/2014-05-30/service-2.json botocore/data/cloudsearch/2011-02-01/service-2.json botocore/data/cloudsearch/2013-01-01/service-2.json @@ -408,6 +411,7 @@ tests/functional/__init__.py tests/functional/test_alias.py tests/functional/test_apigateway.py tests/functional/test_client_class_names.py +tests/functional/test_client_metadata.py tests/functional/test_cloudsearchdomain.py tests/functional/test_credentials.py tests/functional/test_iot_data.py diff --git a/botocore/__init__.py b/botocore/__init__.py index a43c69a3..c7d45079 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re import logging -__version__ = '1.4.60' +__version__ = '1.4.64' class NullHandler(logging.Handler): diff --git a/botocore/args.py b/botocore/args.py index 6a5cd31e..da6383f6 100644 --- a/botocore/args.py +++ b/botocore/args.py @@ -20,7 +20,6 @@ import copy import logging import botocore.serialize -from botocore.utils import fix_s3_host from botocore.signers import RequestSigner from botocore.config import Config from botocore.endpoint import EndpointCreator @@ -50,6 +49,7 @@ class ClientArgsCreator(object): protocol = final_args['protocol'] config_kwargs = final_args['config_kwargs'] s3_config = final_args['s3_config'] + partition = endpoint_config['metadata'].get('partition', None) event_emitter = copy.copy(self._event_emitter) signer = RequestSigner( @@ -58,10 +58,7 @@ class ClientArgsCreator(object): endpoint_config['signature_version'], credentials, event_emitter) - # Add any additional s3 configuration for client config_kwargs['s3'] = s3_config - self._conditionally_unregister_fix_s3_host(endpoint_url, event_emitter) - new_config = Config(**config_kwargs) endpoint_creator = EndpointCreator(event_emitter) @@ -83,7 +80,8 @@ class ClientArgsCreator(object): 'request_signer': signer, 'service_model': service_model, 'loader': self._loader, - 'client_config': new_config + 'client_config': new_config, + 'partition': partition } def compute_client_args(self, service_model, client_config, @@ -175,11 +173,6 @@ class ClientArgsCreator(object): return s3_configuration - def _conditionally_unregister_fix_s3_host(self, endpoint_url, emitter): - # If the user is providing a custom endpoint, we should not alter it. - if endpoint_url is not None: - emitter.unregister('before-sign.s3', fix_s3_host) - def _convert_config_to_bool(self, config_dict, keys): # Make sure any further modifications to this section of the config # will not affect the scoped config by making a copy of it. diff --git a/botocore/client.py b/botocore/client.py index 18e71322..33de501e 100644 --- a/botocore/client.py +++ b/botocore/client.py @@ -25,13 +25,14 @@ from botocore.hooks import first_non_none_response from botocore.model import ServiceModel from botocore.paginate import Paginator from botocore.utils import CachedProperty -from botocore.utils import fix_s3_host from botocore.utils import get_service_module_name -from botocore.utils import switch_to_virtual_host_style from botocore.utils import switch_host_s3_accelerate -from botocore.utils import S3_ACCELERATE_ENDPOINT from botocore.utils import S3RegionRedirector +from botocore.utils import fix_s3_host +from botocore.utils import switch_to_virtual_host_style +from botocore.utils import S3_ACCELERATE_WHITELIST from botocore.args import ClientArgsCreator +from botocore.compat import urlsplit # Keep this imported. There's pre-existing code that uses # "from botocore.client import Config". from botocore.config import Config @@ -67,7 +68,7 @@ class ClientCreator(object): service_model, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, client_config, endpoint_bridge) service_client = cls(**client_args) - self._create_s3_redirector(service_client, endpoint_bridge) + self._register_s3_events(service_client, endpoint_bridge, endpoint_url) return service_client def create_client_class(self, service_name, api_version=None): @@ -114,10 +115,101 @@ class ClientCreator(object): self._event_emitter.register('needs-retry.%s' % endpoint_prefix, handler, unique_id=unique_id) - def _create_s3_redirector(self, client, endpoint_bridge): + def _register_s3_events(self, client, endpoint_bridge, endpoint_url): if client.meta.service_model.service_name != 's3': return S3RegionRedirector(endpoint_bridge, client).register() + self._set_s3_addressing_style( + endpoint_url, client.meta.config.s3, client.meta.events) + # Enable accelerate if the configuration is set to to true or the + # endpoint being used matches one of the accelerate endpoints. + if self._is_s3_accelerate(endpoint_url, client.meta.config.s3): + # Also make sure that the hostname gets switched to + # s3-accelerate.amazonaws.com + client.meta.events.register_first( + 'request-created.s3', switch_host_s3_accelerate) + + def _set_s3_addressing_style(self, endpoint_url, s3_config, event_emitter): + if s3_config is None: + s3_config = {} + + addressing_style = self._get_s3_addressing_style( + endpoint_url, s3_config) + handler = self._get_s3_addressing_handler( + endpoint_url, s3_config, addressing_style) + if handler is not None: + event_emitter.register('before-sign.s3', handler) + + def _get_s3_addressing_style(self, endpoint_url, s3_config): + # Use virtual host style addressing if accelerate is enabled or if + # the given endpoint url is an accelerate endpoint. + accelerate = s3_config.get('use_accelerate_endpoint', False) + if accelerate or self._is_s3_accelerate(endpoint_url, s3_config): + return 'virtual' + + # If a particular addressing style is configured, use it. + configured_addressing_style = s3_config.get('addressing_style') + if configured_addressing_style: + return configured_addressing_style + + def _get_s3_addressing_handler(self, endpoint_url, s3_config, + addressing_style): + # If virtual host style was configured, use it regardless of whether + # or not the bucket looks dns compatible. + if addressing_style == 'virtual': + logger.debug("Using S3 virtual host style addressing.") + return switch_to_virtual_host_style + + # If path style is configured, no additional steps are needed. If + # endpoint_url was specified, don't default to virtual. We could + # potentially default provided endpoint urls to virtual hosted + # style, but for now it is avoided. + if addressing_style == 'path' or endpoint_url is not None: + logger.debug("Using S3 path style addressing.") + return None + + logger.debug("Defaulting to S3 virtual host style addressing with " + "path style addressing fallback.") + + # For dual stack mode, we need to clear the default endpoint url in + # order to use the existing netloc if the bucket is dns compatible. + if s3_config.get('use_dualstack_endpoint', False): + return functools.partial( + fix_s3_host, default_endpoint_url=None) + + # By default, try to use virtual style with path fallback. + return fix_s3_host + + def _is_s3_accelerate(self, endpoint_url, s3_config): + # Accelerate has been explicitly configured. + if s3_config is not None and s3_config.get('use_accelerate_endpoint'): + return True + + # Accelerate mode is turned on automatically if an endpoint url is + # provided that matches the accelerate scheme. + if endpoint_url is None: + return False + + # Accelerate is only valid for Amazon endpoints. + netloc = urlsplit(endpoint_url).netloc + if not netloc.endswith('amazonaws.com'): + return False + + # The first part of the url should always be s3-accelerate. + parts = netloc.split('.') + if parts[0] != 's3-accelerate': + return False + + # Url parts between 's3-accelerate' and 'amazonaws.com' which + # represent different url features. + feature_parts = parts[1:-2] + + # There should be no duplicate url parts. + if len(feature_parts) != len(set(feature_parts)): + return False + + # Remaining parts must all be in the whitelist. + return all(p in S3_ACCELERATE_WHITELIST for p in feature_parts) def _get_client_args(self, service_model, region_name, is_secure, endpoint_url, verify, credentials, @@ -387,7 +479,7 @@ class BaseClient(object): def __init__(self, serializer, endpoint, response_parser, event_emitter, request_signer, service_model, loader, - client_config): + client_config, partition): self._serializer = serializer self._endpoint = endpoint self._response_parser = response_parser @@ -397,7 +489,7 @@ class BaseClient(object): self._client_config = client_config self.meta = ClientMeta(event_emitter, self._client_config, endpoint.host, service_model, - self._PY_TO_OP_NAME) + self._PY_TO_OP_NAME, partition) self._register_handlers() def _register_handlers(self): @@ -406,55 +498,6 @@ class BaseClient(object): self.meta.service_model.endpoint_prefix, self._request_signer.handler) - self._register_s3_specific_handlers() - - def _register_s3_specific_handlers(self): - # Register all of the s3 specific handlers - if self.meta.config.s3 is None: - s3_addressing_style = None - s3_accelerate = None - s3_dualstack = None - else: - s3_addressing_style = self.meta.config.s3.get('addressing_style') - s3_accelerate = self.meta.config.s3.get('use_accelerate_endpoint') - s3_dualstack = self.meta.config.s3.get('use_dualstack_endpoint') - - # Enable accelerate if the configuration is set to to true or the - # endpoint being used matches one of the Accelerate endpoints. - if s3_accelerate or S3_ACCELERATE_ENDPOINT in self._endpoint.host: - # Amazon S3 accelerate is being used then always use the virtual - # style of addressing because it is required. - self._force_virtual_style_s3_addressing() - # Also make sure that the hostname gets switched to - # s3-accelerate.amazonaws.com - self.meta.events.register_first( - 'request-created.s3', switch_host_s3_accelerate) - elif s3_addressing_style: - # Otherwise go ahead with the style the user may have specified. - if s3_addressing_style == 'path': - self._force_path_style_s3_addressing() - elif s3_addressing_style == 'virtual': - self._force_virtual_style_s3_addressing() - elif s3_dualstack: - self.meta.events.unregister('before-sign.s3', fix_s3_host) - self.meta.events.register( - 'before-sign.s3', - functools.partial(fix_s3_host, default_endpoint_url=None)) - - def _force_path_style_s3_addressing(self): - # Do not try to modify the host if path is specified. The - # ``fix_s3_host`` usually switches the addresing style to virtual. - self.meta.events.unregister('before-sign.s3', fix_s3_host) - - def _force_virtual_style_s3_addressing(self): - # If the virtual host addressing style is being forced, - # switch the default fix_s3_host handler for the more general - # switch_to_virtual_host_style handler that does not have opt out - # cases (other than throwing an error if the name is DNS incompatible) - self.meta.events.unregister('before-sign.s3', fix_s3_host) - self.meta.events.register( - 'before-sign.s3', switch_to_virtual_host_style) - @property def _service_model(self): return self.meta.service_model @@ -660,12 +703,13 @@ class ClientMeta(object): """ def __init__(self, events, client_config, endpoint_url, service_model, - method_to_api_mapping): + method_to_api_mapping, partition): self.events = events self._client_config = client_config self._endpoint_url = endpoint_url self._service_model = service_model self._method_to_api_mapping = method_to_api_mapping + self._partition = partition @property def service_model(self): @@ -686,3 +730,7 @@ class ClientMeta(object): @property def method_to_api_mapping(self): return self._method_to_api_mapping + + @property + def partition(self): + return self._partition diff --git a/botocore/data/acm/2015-12-08/service-2.json b/botocore/data/acm/2015-12-08/service-2.json index 83d4f7a7..a43e4113 100644 --- a/botocore/data/acm/2015-12-08/service-2.json +++ b/botocore/data/acm/2015-12-08/service-2.json @@ -69,6 +69,20 @@ ], "documentation":"

Retrieves an ACM Certificate and certificate chain for the certificate specified by an ARN. The chain is an ordered list of certificates that contains the root certificate, intermediate certificates of subordinate CAs, and the ACM Certificate. The certificate and certificate chain are base64 encoded. If you want to decode the certificate chain to see the individual certificate fields, you can use OpenSSL.

Currently, ACM Certificates can be used only with Elastic Load Balancing and Amazon CloudFront.

" }, + "ImportCertificate":{ + "name":"ImportCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportCertificateRequest"}, + "output":{"shape":"ImportCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Imports an SSL/TLS certificate into AWS Certificate Manager (ACM) to use with ACM's integrated AWS services.

ACM does not provide managed renewal for certificates that you import.

For more information about importing certificates into ACM, including the differences between certificates that you import and those that ACM provides, see Importing Certificates in the AWS Certificate Manager User Guide.

To import a certificate, you must provide the certificate and the matching private key. When the certificate is not self-signed, you must also provide a certificate chain. You can omit the certificate chain when importing a self-signed certificate.

The certificate, private key, and certificate chain must be PEM-encoded. For more information about converting these items to PEM format, see Importing Certificates Troubleshooting in the AWS Certificate Manager User Guide.

To import a new certificate, omit the CertificateArn field. Include this field only when you want to replace a previously imported certificate.

This operation returns the Amazon Resource Name (ARN) of the imported certificate.

" + }, "ListCertificates":{ "name":"ListCertificates", "http":{ @@ -119,7 +133,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidDomainValidationOptionsException"} ], - "documentation":"

Requests an ACM Certificate for use with other AWS services. To request an ACM Certificate, you must specify the fully qualified domain name (FQDN) for your site. You can also specify additional FQDNs if users can reach your site by using other names. For each domain name you specify, email is sent to the domain owner to request approval to issue the certificate. After receiving approval from the domain owner, the ACM Certificate is issued. For more information, see the AWS Certificate Manager User Guide .

" + "documentation":"

Requests an ACM Certificate for use with other AWS services. To request an ACM Certificate, you must specify the fully qualified domain name (FQDN) for your site. You can also specify additional FQDNs if users can reach your site by using other names. For each domain name you specify, email is sent to the domain owner to request approval to issue the certificate. After receiving approval from the domain owner, the ACM Certificate is issued. For more information, see the AWS Certificate Manager User Guide.

" }, "ResendValidationEmail":{ "name":"ResendValidationEmail", @@ -163,34 +177,44 @@ }, "CertificateBody":{ "type":"string", - "max":524288, + "max":32768, "min":1, "pattern":"-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?" }, + "CertificateBodyBlob":{ + "type":"blob", + "max":32768, + "min":1 + }, "CertificateChain":{ "type":"string", "max":2097152, "min":1, "pattern":"(-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}\\u000D?\\u000A)*-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?" }, + "CertificateChainBlob":{ + "type":"blob", + "max":2097152, + "min":1 + }, "CertificateDetail":{ "type":"structure", "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "DomainName":{ "shape":"DomainNameString", - "documentation":"

The fully qualified domain name (FQDN) for the certificate, such as www.example.com or example.com.

" + "documentation":"

The fully qualified domain name for the certificate, such as www.example.com or example.com.

" }, "SubjectAlternativeNames":{ "shape":"DomainList", - "documentation":"

One or more domain names (subject alternative names) included in the certificate request. After the certificate is issued, this list includes the domain names bound to the public key contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

" + "documentation":"

One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

" }, "DomainValidationOptions":{ "shape":"DomainValidationList", - "documentation":"

Contains information about the email address or addresses used for domain validation.

" + "documentation":"

Contains information about the email address or addresses used for domain validation. This field exists only when the certificate type is AMAZON_ISSUED.

" }, "Serial":{ "shape":"String", @@ -198,19 +222,23 @@ }, "Subject":{ "shape":"String", - "documentation":"

The X.500 distinguished name of the entity associated with the public key contained in the certificate.

" + "documentation":"

The name of the entity that is associated with the public key contained in the certificate.

" }, "Issuer":{ "shape":"String", - "documentation":"

The X.500 distinguished name of the CA that issued and signed the certificate.

" + "documentation":"

The name of the certificate authority that issued and signed the certificate.

" }, "CreatedAt":{ "shape":"TStamp", - "documentation":"

The time at which the certificate was requested.

" + "documentation":"

The time at which the certificate was requested. This value exists only when the certificate type is AMAZON_ISSUED.

" }, "IssuedAt":{ "shape":"TStamp", - "documentation":"

The time at which the certificate was issued.

" + "documentation":"

The time at which the certificate was issued. This value exists only when the certificate type is AMAZON_ISSUED.

" + }, + "ImportedAt":{ + "shape":"TStamp", + "documentation":"

The date and time at which the certificate was imported. This value exists only when the certificate type is IMPORTED.

" }, "Status":{ "shape":"CertificateStatus", @@ -234,19 +262,23 @@ }, "KeyAlgorithm":{ "shape":"KeyAlgorithm", - "documentation":"

The algorithm used to generate the key pair (the public and private key). Currently the only supported value is RSA_2048.

" + "documentation":"

The algorithm that was used to generate the key pair (the public and private key).

" }, "SignatureAlgorithm":{ "shape":"String", - "documentation":"

The algorithm used to generate a signature. Currently the only supported value is SHA256WITHRSA.

" + "documentation":"

The algorithm that was used to sign the certificate.

" }, "InUseBy":{ "shape":"InUseList", - "documentation":"

A list of ARNs for the resources that are using the certificate. An ACM Certificate can be used by multiple AWS resources.

" + "documentation":"

A list of ARNs for the AWS resources that are using the certificate. A certificate can be used by multiple AWS resources.

" }, "FailureReason":{ "shape":"FailureReason", - "documentation":"

The reason the certificate request failed. This value exists only when the structure's Status is FAILED. For more information, see Certificate Request Failed in the AWS Certificate Manager User Guide.

" + "documentation":"

The reason the certificate request failed. This value exists only when the certificate status is FAILED. For more information, see Certificate Request Failed in the AWS Certificate Manager User Guide.

" + }, + "Type":{ + "shape":"CertificateType", + "documentation":"

The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the AWS Certificate Manager User Guide.

" } }, "documentation":"

Contains detailed metadata about an ACM Certificate. This structure is returned in the response to a DescribeCertificate request.

" @@ -285,6 +317,13 @@ "type":"list", "member":{"shape":"CertificateSummary"} }, + "CertificateType":{ + "type":"string", + "enum":[ + "IMPORTED", + "AMAZON_ISSUED" + ] + }, "DeleteCertificateRequest":{ "type":"structure", "required":["CertificateArn"], @@ -414,6 +453,40 @@ "min":1, "pattern":"\\w+" }, + "ImportCertificateRequest":{ + "type":"structure", + "required":[ + "Certificate", + "PrivateKey" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of an imported certificate to replace. To import a new certificate, omit this field.

" + }, + "Certificate":{ + "shape":"CertificateBodyBlob", + "documentation":"

The certificate to import. It must meet the following requirements:

" + }, + "PrivateKey":{ + "shape":"PrivateKeyBlob", + "documentation":"

The private key that matches the public key in the certificate. It must meet the following requirements:

" + }, + "CertificateChain":{ + "shape":"CertificateChainBlob", + "documentation":"

The certificate chain. It must be PEM-encoded.

" + } + } + }, + "ImportCertificateResponse":{ + "type":"structure", + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the imported certificate.

" + } + } + }, "InUseList":{ "type":"list", "member":{"shape":"String"} @@ -454,6 +527,7 @@ "type":"string", "enum":[ "RSA_2048", + "RSA_1024", "EC_prime256v1" ] }, @@ -525,6 +599,12 @@ "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*" }, + "PrivateKeyBlob":{ + "type":"blob", + "max":524288, + "min":1, + "sensitive":true + }, "RemoveTagsFromCertificateRequest":{ "type":"structure", "required":[ @@ -682,5 +762,5 @@ "member":{"shape":"String"} } }, - "documentation":"AWS Certificate Manager

Welcome to the AWS Certificate Manager (ACM) Command Reference. This guide provides descriptions, syntax, and usage examples for each ACM command. You can use AWS Certificate Manager to request ACM Certificates for your AWS-based websites and applications. For general information about using ACM and for more information about using the console, see the AWS Certificate Manager User Guide. For more information about using the ACM API, see the AWS Certificate Manager API Reference.

" + "documentation":"AWS Certificate Manager

Welcome to the AWS Certificate Manager (ACM) API documentation.

You can use ACM to manage SSL/TLS certificates for your AWS-based websites and applications. For general information about using ACM, see the AWS Certificate Manager User Guide .

" } diff --git a/botocore/data/cloudformation/2010-05-15/waiters-2.json b/botocore/data/cloudformation/2010-05-15/waiters-2.json index 36364161..76a41f66 100644 --- a/botocore/data/cloudformation/2010-05-15/waiters-2.json +++ b/botocore/data/cloudformation/2010-05-15/waiters-2.json @@ -42,36 +42,18 @@ "matcher": "pathAny", "state": "failure" }, - { - "argument": "Stacks[].StackStatus", - "expected": "DELETE_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, { "argument": "Stacks[].StackStatus", "expected": "DELETE_FAILED", "matcher": "pathAny", "state": "failure" }, - { - "argument": "Stacks[].StackStatus", - "expected": "ROLLBACK_COMPLETE", - "matcher": "pathAny", - "state": "failure" - }, { "argument": "Stacks[].StackStatus", "expected": "ROLLBACK_FAILED", "matcher": "pathAny", "state": "failure" }, - { - "argument": "Stacks[].StackStatus", - "expected": "ROLLBACK_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, { "expected": "ValidationError", "matcher": "error", @@ -102,72 +84,18 @@ "matcher": "pathAny", "state": "failure" }, - { - "argument": "Stacks[].StackStatus", - "expected": "CREATE_COMPLETE", - "matcher": "pathAny", - "state": "failure" - }, { "argument": "Stacks[].StackStatus", "expected": "CREATE_FAILED", "matcher": "pathAny", "state": "failure" }, - { - "argument": "Stacks[].StackStatus", - "expected": "CREATE_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "ROLLBACK_COMPLETE", - "matcher": "pathAny", - "state": "failure" - }, { "argument": "Stacks[].StackStatus", "expected": "ROLLBACK_FAILED", "matcher": "pathAny", "state": "failure" }, - { - "argument": "Stacks[].StackStatus", - "expected": "ROLLBACK_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_COMPLETE", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_COMPLETE", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, { "argument": "Stacks[].StackStatus", "expected": "UPDATE_ROLLBACK_FAILED", @@ -200,30 +128,12 @@ "state": "failure", "argument": "Stacks[].StackStatus" }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_COMPLETE", - "matcher": "pathAny", - "state": "failure" - }, { "argument": "Stacks[].StackStatus", "expected": "UPDATE_ROLLBACK_FAILED", "matcher": "pathAny", "state": "failure" }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - }, { "expected": "ValidationError", "matcher": "error", diff --git a/botocore/data/cloudfront/2016-08-20/service-2.json b/botocore/data/cloudfront/2016-08-20/service-2.json old mode 100755 new mode 100644 diff --git a/botocore/data/cloudfront/2016-09-29/paginators-1.json b/botocore/data/cloudfront/2016-09-29/paginators-1.json new file mode 100644 index 00000000..51fbb907 --- /dev/null +++ b/botocore/data/cloudfront/2016-09-29/paginators-1.json @@ -0,0 +1,32 @@ +{ + "pagination": { + "ListCloudFrontOriginAccessIdentities": { + "input_token": "Marker", + "output_token": "CloudFrontOriginAccessIdentityList.NextMarker", + "limit_key": "MaxItems", + "more_results": "CloudFrontOriginAccessIdentityList.IsTruncated", + "result_key": "CloudFrontOriginAccessIdentityList.Items" + }, + "ListDistributions": { + "input_token": "Marker", + "output_token": "DistributionList.NextMarker", + "limit_key": "MaxItems", + "more_results": "DistributionList.IsTruncated", + "result_key": "DistributionList.Items" + }, + "ListInvalidations": { + "input_token": "Marker", + "output_token": "InvalidationList.NextMarker", + "limit_key": "MaxItems", + "more_results": "InvalidationList.IsTruncated", + "result_key": "InvalidationList.Items" + }, + "ListStreamingDistributions": { + "input_token": "Marker", + "output_token": "StreamingDistributionList.NextMarker", + "limit_key": "MaxItems", + "more_results": "StreamingDistributionList.IsTruncated", + "result_key": "StreamingDistributionList.Items" + } + } +} diff --git a/botocore/data/cloudfront/2016-09-29/service-2.json b/botocore/data/cloudfront/2016-09-29/service-2.json new file mode 100644 index 00000000..c920205e --- /dev/null +++ b/botocore/data/cloudfront/2016-09-29/service-2.json @@ -0,0 +1,3496 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-09-29", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "signatureVersion":"v4" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2016_09_29", + "http":{ + "method":"POST", + "requestUri":"/2016-09-29/origin-access-identity/cloudfront", + "responseCode":201 + }, + "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, + "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, + "errors":[ + {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, + {"shape":"MissingBody"}, + {"shape":"TooManyCloudFrontOriginAccessIdentities"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "CreateDistribution":{ + "name":"CreateDistribution2016_09_29", + "http":{ + "method":"POST", + "requestUri":"/2016-09-29/distribution", + "responseCode":201 + }, + "input":{"shape":"CreateDistributionRequest"}, + "output":{"shape":"CreateDistributionResult"}, + "errors":[ + {"shape":"CNAMEAlreadyExists"}, + {"shape":"DistributionAlreadyExists"}, + {"shape":"InvalidOrigin"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"AccessDenied"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"InvalidViewerCertificate"}, + {"shape":"InvalidMinimumProtocolVersion"}, + {"shape":"MissingBody"}, + {"shape":"TooManyDistributionCNAMEs"}, + {"shape":"TooManyDistributions"}, + {"shape":"InvalidDefaultRootObject"}, + {"shape":"InvalidRelativePath"}, + {"shape":"InvalidErrorCode"}, + {"shape":"InvalidResponseCode"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidRequiredProtocol"}, + {"shape":"NoSuchOrigin"}, + {"shape":"TooManyOrigins"}, + {"shape":"TooManyCacheBehaviors"}, + {"shape":"TooManyCookieNamesInWhiteList"}, + {"shape":"InvalidForwardCookies"}, + {"shape":"TooManyHeadersInForwardedValues"}, + {"shape":"InvalidHeadersForS3Origin"}, + {"shape":"InconsistentQuantities"}, + {"shape":"TooManyCertificates"}, + {"shape":"InvalidLocationCode"}, + {"shape":"InvalidGeoRestrictionParameter"}, + {"shape":"InvalidProtocolSettings"}, + {"shape":"InvalidTTLOrder"}, + {"shape":"InvalidWebACLId"}, + {"shape":"TooManyOriginCustomHeaders"}, + {"shape":"TooManyQueryStringParameters"}, + {"shape":"InvalidQueryStringParameters"} + ], + "documentation":"

Creates a new web distribution. Send a GET request to the /CloudFront API version/distribution/distribution ID resource.

" + }, + "CreateDistributionWithTags":{ + "name":"CreateDistributionWithTags2016_09_29", + "http":{ + "method":"POST", + "requestUri":"/2016-09-29/distribution?WithTags", + "responseCode":201 + }, + "input":{"shape":"CreateDistributionWithTagsRequest"}, + "output":{"shape":"CreateDistributionWithTagsResult"}, + "errors":[ + {"shape":"CNAMEAlreadyExists"}, + {"shape":"DistributionAlreadyExists"}, + {"shape":"InvalidOrigin"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"AccessDenied"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"InvalidViewerCertificate"}, + {"shape":"InvalidMinimumProtocolVersion"}, + {"shape":"MissingBody"}, + {"shape":"TooManyDistributionCNAMEs"}, + {"shape":"TooManyDistributions"}, + {"shape":"InvalidDefaultRootObject"}, + {"shape":"InvalidRelativePath"}, + {"shape":"InvalidErrorCode"}, + {"shape":"InvalidResponseCode"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidRequiredProtocol"}, + {"shape":"NoSuchOrigin"}, + {"shape":"TooManyOrigins"}, + {"shape":"TooManyCacheBehaviors"}, + {"shape":"TooManyCookieNamesInWhiteList"}, + {"shape":"InvalidForwardCookies"}, + {"shape":"TooManyHeadersInForwardedValues"}, + {"shape":"InvalidHeadersForS3Origin"}, + {"shape":"InconsistentQuantities"}, + {"shape":"TooManyCertificates"}, + {"shape":"InvalidLocationCode"}, + {"shape":"InvalidGeoRestrictionParameter"}, + {"shape":"InvalidProtocolSettings"}, + {"shape":"InvalidTTLOrder"}, + {"shape":"InvalidWebACLId"}, + {"shape":"TooManyOriginCustomHeaders"}, + {"shape":"InvalidTagging"}, + {"shape":"TooManyQueryStringParameters"}, + {"shape":"InvalidQueryStringParameters"} + ], + "documentation":"

Create a new distribution with tags.

" + }, + "CreateInvalidation":{ + "name":"CreateInvalidation2016_09_29", + "http":{ + "method":"POST", + "requestUri":"/2016-09-29/distribution/{DistributionId}/invalidation", + "responseCode":201 + }, + "input":{"shape":"CreateInvalidationRequest"}, + "output":{"shape":"CreateInvalidationResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"MissingBody"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"BatchTooLarge"}, + {"shape":"TooManyInvalidationsInProgress"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Create a new invalidation.

" + }, + "CreateStreamingDistribution":{ + "name":"CreateStreamingDistribution2016_09_29", + "http":{ + "method":"POST", + "requestUri":"/2016-09-29/streaming-distribution", + "responseCode":201 + }, + "input":{"shape":"CreateStreamingDistributionRequest"}, + "output":{"shape":"CreateStreamingDistributionResult"}, + "errors":[ + {"shape":"CNAMEAlreadyExists"}, + {"shape":"StreamingDistributionAlreadyExists"}, + {"shape":"InvalidOrigin"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"AccessDenied"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"MissingBody"}, + {"shape":"TooManyStreamingDistributionCNAMEs"}, + {"shape":"TooManyStreamingDistributions"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new web distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified.

" + }, + "CreateStreamingDistributionWithTags":{ + "name":"CreateStreamingDistributionWithTags2016_09_29", + "http":{ + "method":"POST", + "requestUri":"/2016-09-29/streaming-distribution?WithTags", + "responseCode":201 + }, + "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, + "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, + "errors":[ + {"shape":"CNAMEAlreadyExists"}, + {"shape":"StreamingDistributionAlreadyExists"}, + {"shape":"InvalidOrigin"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"AccessDenied"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"MissingBody"}, + {"shape":"TooManyStreamingDistributionCNAMEs"}, + {"shape":"TooManyStreamingDistributions"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidTagging"} + ], + "documentation":"

Create a new streaming distribution with tags.

" + }, + "DeleteCloudFrontOriginAccessIdentity":{ + "name":"DeleteCloudFrontOriginAccessIdentity2016_09_29", + "http":{ + "method":"DELETE", + "requestUri":"/2016-09-29/origin-access-identity/cloudfront/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"PreconditionFailed"}, + {"shape":"CloudFrontOriginAccessIdentityInUse"} + ], + "documentation":"

Delete an origin access identity.

" + }, + "DeleteDistribution":{ + "name":"DeleteDistribution2016_09_29", + "http":{ + "method":"DELETE", + "requestUri":"/2016-09-29/distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"DistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a distribution.

" + }, + "DeleteStreamingDistribution":{ + "name":"DeleteStreamingDistribution2016_09_29", + "http":{ + "method":"DELETE", + "requestUri":"/2016-09-29/streaming-distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteStreamingDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"StreamingDistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" + }, + "GetCloudFrontOriginAccessIdentity":{ + "name":"GetCloudFrontOriginAccessIdentity2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/origin-access-identity/cloudfront/{Id}" + }, + "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, + "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, + "errors":[ + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an origin access identity.

" + }, + "GetCloudFrontOriginAccessIdentityConfig":{ + "name":"GetCloudFrontOriginAccessIdentityConfig2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/origin-access-identity/cloudfront/{Id}/config" + }, + "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, + "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, + "errors":[ + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about an origin access identity.

" + }, + "GetDistribution":{ + "name":"GetDistribution2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/distribution/{Id}/config" + }, + "input":{"shape":"GetDistributionConfigRequest"}, + "output":{"shape":"GetDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a distribution.

" + }, + "GetInvalidation":{ + "name":"GetInvalidation2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/distribution/{DistributionId}/invalidation/{Id}" + }, + "input":{"shape":"GetInvalidationRequest"}, + "output":{"shape":"GetInvalidationResult"}, + "errors":[ + {"shape":"NoSuchInvalidation"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an invalidation.

" + }, + "GetStreamingDistribution":{ + "name":"GetStreamingDistribution2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/streaming-distribution/{Id}" + }, + "input":{"shape":"GetStreamingDistributionRequest"}, + "output":{"shape":"GetStreamingDistributionResult"}, + "errors":[ + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Gets information about a specified RTMP distribution, including the distribution configuration.

" + }, + "GetStreamingDistributionConfig":{ + "name":"GetStreamingDistributionConfig2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/streaming-distribution/{Id}/config" + }, + "input":{"shape":"GetStreamingDistributionConfigRequest"}, + "output":{"shape":"GetStreamingDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a streaming distribution.

" + }, + "ListCloudFrontOriginAccessIdentities":{ + "name":"ListCloudFrontOriginAccessIdentities2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/distributionsByWebACLId/{WebACLId}" + }, + "input":{"shape":"ListDistributionsByWebACLIdRequest"}, + "output":{"shape":"ListDistributionsByWebACLIdResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"InvalidWebACLId"} + ], + "documentation":"

List the distributions that are associated with a specified AWS WAF web ACL.

" + }, + "ListInvalidations":{ + "name":"ListInvalidations2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2016_09_29", + "http":{ + "method":"GET", + "requestUri":"/2016-09-29/tagging" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidTagging"}, + {"shape":"NoSuchResource"} + ], + "documentation":"

List tags for a CloudFront resource.

" + }, + "TagResource":{ + "name":"TagResource2016_09_29", + "http":{ + "method":"POST", + "requestUri":"/2016-09-29/tagging?Operation=Tag", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidTagging"}, + {"shape":"NoSuchResource"} + ], + "documentation":"

Add tags to a CloudFront resource.

" + }, + "UntagResource":{ + "name":"UntagResource2016_09_29", + "http":{ + "method":"POST", + "requestUri":"/2016-09-29/tagging?Operation=Untag", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidTagging"}, + {"shape":"NoSuchResource"} + ], + "documentation":"

Remove tags from a CloudFront resource.

" + }, + "UpdateCloudFrontOriginAccessIdentity":{ + "name":"UpdateCloudFrontOriginAccessIdentity2016_09_29", + "http":{ + "method":"PUT", + "requestUri":"/2016-09-29/origin-access-identity/cloudfront/{Id}/config" + }, + "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, + "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"IllegalUpdate"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"MissingBody"}, + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"PreconditionFailed"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Update an origin access identity.

" + }, + "UpdateDistribution":{ + "name":"UpdateDistribution2016_09_29", + "http":{ + "method":"PUT", + "requestUri":"/2016-09-29/distribution/{Id}/config" + }, + "input":{"shape":"UpdateDistributionRequest"}, + "output":{"shape":"UpdateDistributionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CNAMEAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"MissingBody"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyDistributionCNAMEs"}, + {"shape":"InvalidDefaultRootObject"}, + {"shape":"InvalidRelativePath"}, + {"shape":"InvalidErrorCode"}, + {"shape":"InvalidResponseCode"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"InvalidViewerCertificate"}, + {"shape":"InvalidMinimumProtocolVersion"}, + {"shape":"InvalidRequiredProtocol"}, + {"shape":"NoSuchOrigin"}, + {"shape":"TooManyOrigins"}, + {"shape":"TooManyCacheBehaviors"}, + {"shape":"TooManyCookieNamesInWhiteList"}, + {"shape":"InvalidForwardCookies"}, + {"shape":"TooManyHeadersInForwardedValues"}, + {"shape":"InvalidHeadersForS3Origin"}, + {"shape":"InconsistentQuantities"}, + {"shape":"TooManyCertificates"}, + {"shape":"InvalidLocationCode"}, + {"shape":"InvalidGeoRestrictionParameter"}, + {"shape":"InvalidTTLOrder"}, + {"shape":"InvalidWebACLId"}, + {"shape":"TooManyOriginCustomHeaders"}, + {"shape":"TooManyQueryStringParameters"}, + {"shape":"InvalidQueryStringParameters"} + ], + "documentation":"

Update a distribution.

" + }, + "UpdateStreamingDistribution":{ + "name":"UpdateStreamingDistribution2016_09_29", + "http":{ + "method":"PUT", + "requestUri":"/2016-09-29/streaming-distribution/{Id}/config" + }, + "input":{"shape":"UpdateStreamingDistributionRequest"}, + "output":{"shape":"UpdateStreamingDistributionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CNAMEAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"MissingBody"}, + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyStreamingDistributionCNAMEs"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Update a streaming distribution.

" + } + }, + "shapes":{ + "AccessDenied":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Access denied.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "ActiveTrustedSigners":{ + "type":"structure", + "required":[ + "Enabled", + "Quantity" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this RTMP distribution have active CloudFront key pairs. If not, Enabled is false.

For more information, see ActiveTrustedSigners.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

A complex type that contains one Signer complex type for each trusted signer specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" + }, + "Items":{ + "shape":"SignerList", + "documentation":"

A complex type that contains one Signer complex type for each trusted signer that is specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" + } + }, + "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "AliasList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"CNAME" + } + }, + "Aliases":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of CNAME aliases, if any, that you want to associate with this distribution.

" + }, + "Items":{ + "shape":"AliasList", + "documentation":"

A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

" + } + }, + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" + }, + "AllowedMethods":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests).

" + }, + "Items":{ + "shape":"MethodsList", + "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.

" + }, + "CachedMethods":{"shape":"CachedMethods"} + }, + "documentation":"

A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:

If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.

" + }, + "AwsAccountNumberList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"AwsAccountNumber" + } + }, + "BatchTooLarge":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":413}, + "exception":true + }, + "CNAMEAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "CacheBehavior":{ + "type":"structure", + "required":[ + "PathPattern", + "TargetOriginId", + "ForwardedValues", + "TrustedSigners", + "ViewerProtocolPolicy", + "MinTTL" + ], + "members":{ + "PathPattern":{ + "shape":"string", + "documentation":"

The pattern (for example, images/*.jpg) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.

You can optionally include a slash (/) at the beginning of the path pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without the leading /.

The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.

For more information, see Path Pattern in the Amazon CloudFront Developer Guide.

" + }, + "TargetOriginId":{ + "shape":"string", + "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" + }, + "ForwardedValues":{ + "shape":"ForwardedValues", + "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" + }, + "ViewerProtocolPolicy":{ + "shape":"ViewerProtocolPolicy", + "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "MinTTL":{ + "shape":"long", + "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" + }, + "AllowedMethods":{"shape":"AllowedMethods"}, + "SmoothStreaming":{ + "shape":"boolean", + "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" + }, + "DefaultTTL":{ + "shape":"long", + "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "MaxTTL":{ + "shape":"long", + "documentation":"

The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "Compress":{ + "shape":"boolean", + "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that describes how CloudFront processes requests.

You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.

For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.

If you don't want to specify any cache behaviors, include only an empty CacheBehaviors element. Don't include an empty CacheBehavior element, or CloudFront returns a MalformedXML error.

To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.

To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.

For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.

" + }, + "CacheBehaviorList":{ + "type":"list", + "member":{ + "shape":"CacheBehavior", + "locationName":"CacheBehavior" + } + }, + "CacheBehaviors":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of cache behaviors for this distribution.

" + }, + "Items":{ + "shape":"CacheBehaviorList", + "documentation":"

Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" + }, + "CachedMethods":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of HTTP methods for which you want CloudFront to cache responses. Valid values are 2 (for caching responses to GET and HEAD requests) and 3 (for caching responses to GET, HEAD, and OPTIONS requests).

" + }, + "Items":{ + "shape":"MethodsList", + "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to cache responses to.

" + } + }, + "documentation":"

A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:

If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.

" + }, + "CertificateSource":{ + "type":"string", + "enum":[ + "cloudfront", + "iam", + "acm" + ] + }, + "CloudFrontOriginAccessIdentity":{ + "type":"structure", + "required":[ + "Id", + "S3CanonicalUserId" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" + }, + "S3CanonicalUserId":{ + "shape":"string", + "documentation":"

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

" + }, + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The current configuration information for the identity.

" + } + }, + "documentation":"

CloudFront origin access identity.

" + }, + "CloudFrontOriginAccessIdentityAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

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, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CloudFrontOriginAccessIdentityConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Comment" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

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, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Any comments you want to include about the origin access identity.

" + } + }, + "documentation":"

Origin access identity configuration. Send a GET request to the /CloudFront API version/CloudFront/identity ID/config resource.

" + }, + "CloudFrontOriginAccessIdentityInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "CloudFrontOriginAccessIdentityList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

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

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

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.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of origin access identities you want in the response body.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more origin access identities remain to be listed. 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.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of CloudFront origin access identities that were created by the current AWS account.

" + }, + "Items":{ + "shape":"CloudFrontOriginAccessIdentitySummaryList", + "documentation":"

A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.

" + } + }, + "documentation":"

Lists the origin access identities for CloudFront.Send a GET request to the /CloudFront API version/origin-access-identity/cloudfront resource. The response includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary child elements. By default, your entire list of origin access identities is returned in one single page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

" + }, + "CloudFrontOriginAccessIdentitySummary":{ + "type":"structure", + "required":[ + "Id", + "S3CanonicalUserId", + "Comment" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" + }, + "S3CanonicalUserId":{ + "shape":"string", + "documentation":"

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.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

The comment for this origin access identity, as originally specified when created.

" + } + }, + "documentation":"

Summary of the information about a CloudFront origin access identity.

" + }, + "CloudFrontOriginAccessIdentitySummaryList":{ + "type":"list", + "member":{ + "shape":"CloudFrontOriginAccessIdentitySummary", + "locationName":"CloudFrontOriginAccessIdentitySummary" + } + }, + "CookieNameList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Name" + } + }, + "CookieNames":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of different cookies that you want CloudFront to forward to the origin for this cache behavior.

" + }, + "Items":{ + "shape":"CookieNameList", + "documentation":"

A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior.

" + } + }, + "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" + }, + "CookiePreference":{ + "type":"structure", + "required":["Forward"], + "members":{ + "Forward":{ + "shape":"ItemSelection", + "documentation":"

Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the WhitelistedNames complex type.

Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the Forward element.

" + }, + "WhitelistedNames":{ + "shape":"CookieNames", + "documentation":"

Required if you specify whitelist for the value of Forward:. A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.

If you specify all or none for the value of Forward, omit WhitelistedNames. If you change the value of Forward from whitelist to all or none and you don't delete the WhitelistedNames element and its child elements, CloudFront deletes them automatically.

For the current limit on the number of cookie names that you can whitelist for each cache behavior, see Amazon CloudFront Limits in the AWS General Reference.

" + } + }, + "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" + }, + "CreateCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":["CloudFrontOriginAccessIdentityConfig"], + "members":{ + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The current configuration information for the identity.

", + "locationName":"CloudFrontOriginAccessIdentityConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + } + }, + "documentation":"

The request to create a new origin access identity.

", + "payload":"CloudFrontOriginAccessIdentityConfig" + }, + "CreateCloudFrontOriginAccessIdentityResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentity":{ + "shape":"CloudFrontOriginAccessIdentity", + "documentation":"

The origin access identity's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the origin access identity created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentity" + }, + "CreateDistributionRequest":{ + "type":"structure", + "required":["DistributionConfig"], + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The distribution's configuration information.

", + "locationName":"DistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + } + }, + "documentation":"

The request to create a new distribution.

", + "payload":"DistributionConfig" + }, + "CreateDistributionResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the distribution created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "CreateDistributionWithTagsRequest":{ + "type":"structure", + "required":["DistributionConfigWithTags"], + "members":{ + "DistributionConfigWithTags":{ + "shape":"DistributionConfigWithTags", + "documentation":"

The distribution's configuration information.

", + "locationName":"DistributionConfigWithTags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + } + }, + "documentation":"

The request to create a new distribution with tags.

", + "payload":"DistributionConfigWithTags" + }, + "CreateDistributionWithTagsResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the distribution created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "CreateInvalidationRequest":{ + "type":"structure", + "required":[ + "DistributionId", + "InvalidationBatch" + ], + "members":{ + "DistributionId":{ + "shape":"string", + "documentation":"

The distribution's id.

", + "location":"uri", + "locationName":"DistributionId" + }, + "InvalidationBatch":{ + "shape":"InvalidationBatch", + "documentation":"

The batch information for the invalidation.

", + "locationName":"InvalidationBatch", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + } + }, + "documentation":"

The request to create an invalidation.

", + "payload":"InvalidationBatch" + }, + "CreateInvalidationResult":{ + "type":"structure", + "members":{ + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", + "location":"header", + "locationName":"Location" + }, + "Invalidation":{ + "shape":"Invalidation", + "documentation":"

The invalidation's information.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Invalidation" + }, + "CreateStreamingDistributionRequest":{ + "type":"structure", + "required":["StreamingDistributionConfig"], + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + } + }, + "documentation":"

The request to create a new streaming distribution.

", + "payload":"StreamingDistributionConfig" + }, + "CreateStreamingDistributionResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the streaming distribution created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "CreateStreamingDistributionWithTagsRequest":{ + "type":"structure", + "required":["StreamingDistributionConfigWithTags"], + "members":{ + "StreamingDistributionConfigWithTags":{ + "shape":"StreamingDistributionConfigWithTags", + "documentation":"

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfigWithTags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + } + }, + "documentation":"

The request to create a new streaming distribution with tags.

", + "payload":"StreamingDistributionConfigWithTags" + }, + "CreateStreamingDistributionWithTagsResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "CustomErrorResponse":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{ + "shape":"integer", + "documentation":"

The HTTP status code for which you want to specify a custom error page and/or a caching duration.

" + }, + "ResponsePagePath":{ + "shape":"string", + "documentation":"

The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode, for example, /4xx-errors/403-forbidden.html. If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:

If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode. If you don't want to specify a value, include an empty element, <ResponsePagePath>, in the XML document.

We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.

" + }, + "ResponseCode":{ + "shape":"string", + "documentation":"

The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath. If you don't want to specify a value, include an empty element, <ResponseCode>, in the XML document.

" + }, + "ErrorCachingMinTTL":{ + "shape":"long", + "documentation":"

The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.

If you don't want to specify a value, include an empty element, <ErrorCachingMinTTL>, in the XML document.

For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that controls:

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + }, + "CustomErrorResponseList":{ + "type":"list", + "member":{ + "shape":"CustomErrorResponse", + "locationName":"CustomErrorResponse" + } + }, + "CustomErrorResponses":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of HTTP status codes for which you want to specify a custom error page and/or a caching duration. If Quantity is 0, you can omit Items.

" + }, + "Items":{ + "shape":"CustomErrorResponseList", + "documentation":"

A complex type that contains a CustomErrorResponse element for each HTTP status code for which you want to specify a custom error page and/or a caching duration.

" + } + }, + "documentation":"

A complex type that controls:

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + }, + "CustomHeaders":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of custom headers, if any, for this distribution.

" + }, + "Items":{ + "shape":"OriginCustomHeadersList", + "documentation":"

Optional: A list that contains one OriginCustomHeader element for each custom header that you want CloudFront to forward to the origin. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that contains the list of Custom Headers for each origin.

" + }, + "CustomOriginConfig":{ + "type":"structure", + "required":[ + "HTTPPort", + "HTTPSPort", + "OriginProtocolPolicy" + ], + "members":{ + "HTTPPort":{ + "shape":"integer", + "documentation":"

The HTTP port the custom origin listens on.

" + }, + "HTTPSPort":{ + "shape":"integer", + "documentation":"

The HTTPS port the custom origin listens on.

" + }, + "OriginProtocolPolicy":{ + "shape":"OriginProtocolPolicy", + "documentation":"

The origin protocol policy to apply to your origin.

" + }, + "OriginSslProtocols":{ + "shape":"OriginSslProtocols", + "documentation":"

The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.

" + } + }, + "documentation":"

A customer origin.

" + }, + "DefaultCacheBehavior":{ + "type":"structure", + "required":[ + "TargetOriginId", + "ForwardedValues", + "TrustedSigners", + "ViewerProtocolPolicy", + "MinTTL" + ], + "members":{ + "TargetOriginId":{ + "shape":"string", + "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" + }, + "ForwardedValues":{ + "shape":"ForwardedValues", + "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" + }, + "ViewerProtocolPolicy":{ + "shape":"ViewerProtocolPolicy", + "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "MinTTL":{ + "shape":"long", + "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" + }, + "AllowedMethods":{"shape":"AllowedMethods"}, + "SmoothStreaming":{ + "shape":"boolean", + "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" + }, + "DefaultTTL":{ + "shape":"long", + "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "MaxTTL":{"shape":"long"}, + "Compress":{ + "shape":"boolean", + "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" + }, + "DeleteCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The origin access identity's ID.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

Deletes a origin access identity.

" + }, + "DeleteDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The distribution ID.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a GET Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 2.

  5. Review the response to the PUT Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Distribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 6.

  8. Review the response to your DELETE Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" + }, + "DeleteStreamingDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The distribution ID.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to delete a streaming distribution.

" + }, + "Distribution":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "LastModifiedTime", + "InProgressInvalidationBatches", + "DomainName", + "ActiveTrustedSigners", + "DistributionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" + }, + "ARN":{ + "shape":"string", + "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" + }, + "Status":{ + "shape":"string", + "documentation":"

This response element indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time the distribution was last modified.

" + }, + "InProgressInvalidationBatches":{ + "shape":"integer", + "documentation":"

The number of invalidation batches currently in progress.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" + }, + "ActiveTrustedSigners":{ + "shape":"ActiveTrustedSigners", + "documentation":"

CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). 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.

" + }, + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The current configuration information for the distribution. Send a GET request to the /CloudFront API version/distribution ID/config resource.

" + } + }, + "documentation":"

The distribution's information.

" + }, + "DistributionAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The caller reference you attempted to create the distribution with is associated with another distribution.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "DistributionConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Origins", + "DefaultCacheBehavior", + "Comment", + "Enabled" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the DistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value you already sent in a previous request to create a distribution, and if the content of the DistributionConfig is identical to the original request (ignoring white space), CloudFront returns the same the response that it returned to the original request.

If 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, CloudFront returns a DistributionAlreadyExists error.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" + }, + "DefaultRootObject":{ + "shape":"string", + "documentation":"

The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). Specifying a default root object avoids exposing the contents of your distribution.

Specify only the object name, for example, index.html. Do not add a / before the object name.

If you don't want to specify a default root object when you create a distribution, include an empty DefaultRootObject element.

To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element.

To replace the default root object, update the distribution configuration and specify the new object.

For more information about the default root object, see Creating a Default Root Object in the Amazon CloudFront Developer Guide.

" + }, + "Origins":{ + "shape":"Origins", + "documentation":"

A complex type that contains information about origins for this distribution.

" + }, + "DefaultCacheBehavior":{ + "shape":"DefaultCacheBehavior", + "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" + }, + "CacheBehaviors":{ + "shape":"CacheBehaviors", + "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" + }, + "CustomErrorResponses":{ + "shape":"CustomErrorResponses", + "documentation":"

A complex type that controls the following:

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Any comments you want to include about the distribution.

If you don't want to specify a comment, include an empty Comment element.

To delete an existing comment, update the distribution configuration and include an empty Comment element.

To add or change a comment, update the distribution configuration and specify the new comment.

" + }, + "Logging":{ + "shape":"LoggingConfig", + "documentation":"

A complex type that controls whether access logs are written for the distribution.

For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.

" + }, + "PriceClass":{ + "shape":"PriceClass", + "documentation":"

The price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.

If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.

For more information about price classes, see Choosing the Price Class for a CloudFront Distribution in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how price classes map to CloudFront regions, see Amazon CloudFront Pricing.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket.

If you do not want to enable logging when you create a distribution, or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements.

If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" + }, + "ViewerCertificate":{"shape":"ViewerCertificate"}, + "Restrictions":{"shape":"Restrictions"}, + "WebACLId":{ + "shape":"string", + "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.

" + }, + "HttpVersion":{ + "shape":"HttpVersion", + "documentation":"

(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 automatically use an earlier HTTP version.

For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support Server Name Identification (SNI).

In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You can improve performance by optimizing for HTTP/2. For more information, do an Internet search for \"http/2 optimization.\"

" + }, + "IsIPV6Enabled":{ + "shape":"boolean", + "documentation":"

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.

In general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the IpAddress parameter to restrict the IP addresses that can access your content, do not enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see Creating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:

For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Amazon Route 53 Developer Guide.

If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.

" + } + }, + "documentation":"

A distribution configuration.

" + }, + "DistributionConfigWithTags":{ + "type":"structure", + "required":[ + "DistributionConfig", + "Tags" + ], + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

A distribution configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

" + } + }, + "documentation":"

A distribution Configuration and a list of tags to be associated with the distribution.

" + }, + "DistributionList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value you provided for the Marker request parameter.

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

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.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The value you provided for the MaxItems request parameter.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more distributions remain to be listed. 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.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of distributions that were created by the current AWS account.

" + }, + "Items":{ + "shape":"DistributionSummaryList", + "documentation":"

A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.

" + } + }, + "documentation":"

A distribution list.

" + }, + "DistributionNotDisabled":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "DistributionSummary":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "LastModifiedTime", + "DomainName", + "Aliases", + "Origins", + "DefaultCacheBehavior", + "CacheBehaviors", + "CustomErrorResponses", + "Comment", + "PriceClass", + "Enabled", + "ViewerCertificate", + "Restrictions", + "WebACLId", + "HttpVersion", + "IsIPV6Enabled" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" + }, + "ARN":{ + "shape":"string", + "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" + }, + "Status":{ + "shape":"string", + "documentation":"

The current status of the distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time the distribution was last modified.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name that corresponds to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" + }, + "Origins":{ + "shape":"Origins", + "documentation":"

A complex type that contains information about origins for this distribution.

" + }, + "DefaultCacheBehavior":{ + "shape":"DefaultCacheBehavior", + "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" + }, + "CacheBehaviors":{ + "shape":"CacheBehaviors", + "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" + }, + "CustomErrorResponses":{ + "shape":"CustomErrorResponses", + "documentation":"

A complex type that contains zero or more CustomErrorResponses elements.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

The comment originally specified when this distribution was created.

" + }, + "PriceClass":{"shape":"PriceClass"}, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the distribution is enabled to accept user requests for content.

" + }, + "ViewerCertificate":{"shape":"ViewerCertificate"}, + "Restrictions":{"shape":"Restrictions"}, + "WebACLId":{ + "shape":"string", + "documentation":"

The Web ACL Id (if any) associated with the distribution.

" + }, + "HttpVersion":{ + "shape":"HttpVersion", + "documentation":"

Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 will automatically use an earlier version.

" + }, + "IsIPV6Enabled":{ + "shape":"boolean", + "documentation":"

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.

" + } + }, + "documentation":"

A summary of the information about a CloudFront distribution.

" + }, + "DistributionSummaryList":{ + "type":"list", + "member":{ + "shape":"DistributionSummary", + "locationName":"DistributionSummary" + } + }, + "ForwardedValues":{ + "type":"structure", + "required":[ + "QueryString", + "Cookies" + ], + "members":{ + "QueryString":{ + "shape":"boolean", + "documentation":"

Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if any:

If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.

If you specify true for QueryString and you specify one or more values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.

If you specify false for QueryString, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.

For more information, see Configuring CloudFront to Cache Based on Query String Parameters in the Amazon CloudFront Developer Guide.

" + }, + "Cookies":{ + "shape":"CookiePreference", + "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" + }, + "Headers":{ + "shape":"Headers", + "documentation":"

A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior.

" + }, + "QueryStringCacheKeys":{ + "shape":"QueryStringCacheKeys", + "documentation":"

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.

" + } + }, + "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" + }, + "GeoRestriction":{ + "type":"structure", + "required":[ + "RestrictionType", + "Quantity" + ], + "members":{ + "RestrictionType":{ + "shape":"GeoRestrictionType", + "documentation":"

The method that you want to use to restrict distribution of your content by country:

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

When geo restriction is enabled, this is the number of countries in your whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.

" + }, + "Items":{ + "shape":"LocationList", + "documentation":"

A complex type that contains a Location element for each country in which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist).

The Location element is a two-letter, uppercase country code for a country that you want to include in your blacklist or whitelist. Include one Location element for each country.

CloudFront and MaxMind both use ISO 3166 country codes. For the current list of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

" + } + }, + "documentation":"

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using MaxMind GeoIP databases.

" + }, + "GeoRestrictionType":{ + "type":"string", + "enum":[ + "blacklist", + "whitelist", + "none" + ] + }, + "GetCloudFrontOriginAccessIdentityConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identity's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfigComplexType.

" + }, + "GetCloudFrontOriginAccessIdentityConfigResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The origin access identity's configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentityConfig" + }, + "GetCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identity's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get an origin access identity's information.

" + }, + "GetCloudFrontOriginAccessIdentityResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentity":{ + "shape":"CloudFrontOriginAccessIdentity", + "documentation":"

The origin access identity's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentity" + }, + "GetDistributionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The distribution's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get a distribution configuration.

" + }, + "GetDistributionConfigResult":{ + "type":"structure", + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The distribution's configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"DistributionConfig" + }, + "GetDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The distribution's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get a distribution's information.

" + }, + "GetDistributionResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the distribution's information. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "GetInvalidationRequest":{ + "type":"structure", + "required":[ + "DistributionId", + "Id" + ], + "members":{ + "DistributionId":{ + "shape":"string", + "documentation":"

The distribution's ID.

", + "location":"uri", + "locationName":"DistributionId" + }, + "Id":{ + "shape":"string", + "documentation":"

The identifier for the invalidation request, for example, IDFDVBD632BHDS5.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get an invalidation's information.

" + }, + "GetInvalidationResult":{ + "type":"structure", + "members":{ + "Invalidation":{ + "shape":"Invalidation", + "documentation":"

The invalidation's information. For more information, see Invalidation Complex Type.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Invalidation" + }, + "GetStreamingDistributionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The streaming distribution's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

To request to get a streaming distribution configuration.

" + }, + "GetStreamingDistributionConfigResult":{ + "type":"structure", + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The streaming distribution's configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistributionConfig" + }, + "GetStreamingDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The streaming distribution's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get a streaming distribution's information.

" + }, + "GetStreamingDistributionResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "HeaderList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Name" + } + }, + "Headers":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of different headers that you want CloudFront to forward to the origin for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

" + }, + "Items":{ + "shape":"HeaderList", + "documentation":"

A complex type that contains one Name element for each header that you want CloudFront to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that specifies the headers that you want CloudFront to forward to the origin for this cache behavior.

For the headers that you specify, CloudFront also caches separate versions of a specified object based on the header values in viewer requests. For example, suppose viewer requests for logo.jpg contain a custom Product header that has a value of either Acme or Apex, and you configure CloudFront to cache your content based on values in the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value. For more information about caching based on header values, see How CloudFront Forwards and Caches Headers in the Amazon CloudFront Developer Guide.

" + }, + "HttpVersion":{ + "type":"string", + "enum":[ + "http1.1", + "http2" + ] + }, + "IllegalUpdate":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Origin and CallerReference cannot be updated.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InconsistentQuantities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The value of Quantity and the size of Items do not match.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidArgument":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The argument is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidDefaultRootObject":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The default root object file name is too big or contains an invalid character.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidErrorCode":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidForwardCookies":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidGeoRestrictionParameter":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidHeadersForS3Origin":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidIfMatchVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The If-Match version is missing or not valid for the distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidLocationCode":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidMinimumProtocolVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOrigin":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginAccessIdentity":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The origin access identity is not valid or doesn't exist.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidProtocolSettings":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidQueryStringParameters":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRelativePath":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequiredProtocol":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

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.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidResponseCode":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTTLOrder":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTagging":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidViewerCertificate":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidWebACLId":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "Invalidation":{ + "type":"structure", + "required":[ + "Id", + "Status", + "CreateTime", + "InvalidationBatch" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the invalidation request. For example: IDFDVBD632BHDS5.

" + }, + "Status":{ + "shape":"string", + "documentation":"

The status of the invalidation request. When the invalidation batch is finished, the status is Completed.

" + }, + "CreateTime":{ + "shape":"timestamp", + "documentation":"

The date and time the invalidation request was first made.

" + }, + "InvalidationBatch":{ + "shape":"InvalidationBatch", + "documentation":"

The current invalidation information for the batch request.

" + } + }, + "documentation":"

An invalidation.

" + }, + "InvalidationBatch":{ + "type":"structure", + "required":[ + "Paths", + "CallerReference" + ], + "members":{ + "Paths":{ + "shape":"Paths", + "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" + }, + "CallerReference":{ + "shape":"string", + "documentation":"

A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp, for example, 20120301090000.

If you make a second invalidation request with the same value for CallerReference, and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference.

If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

" + } + }, + "documentation":"

An invalidation batch.

" + }, + "InvalidationList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value that you provided for the Marker request parameter.

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

If IsTruncated is true, this element is present and contains the value that you can use for the Marker request parameter to continue listing your invalidation batches where they left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The value that you provided for the MaxItems request parameter.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more invalidation batch requests remain to be listed. 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.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of invalidation batches that were created by the current AWS account.

" + }, + "Items":{ + "shape":"InvalidationSummaryList", + "documentation":"

A complex type that contains one InvalidationSummary element for each invalidation batch created by the current AWS account.

" + } + }, + "documentation":"

The InvalidationList complex type describes the list of invalidation objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in the Amazon CloudFront Developer Guide.

" + }, + "InvalidationSummary":{ + "type":"structure", + "required":[ + "Id", + "CreateTime", + "Status" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The unique ID for an invalidation request.

" + }, + "CreateTime":{"shape":"timestamp"}, + "Status":{ + "shape":"string", + "documentation":"

The status of an invalidation request.

" + } + }, + "documentation":"

A summary of an invalidation request.

" + }, + "InvalidationSummaryList":{ + "type":"list", + "member":{ + "shape":"InvalidationSummary", + "locationName":"InvalidationSummary" + } + }, + "ItemSelection":{ + "type":"string", + "enum":[ + "none", + "whitelist", + "all" + ] + }, + "KeyPairIdList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"KeyPairId" + } + }, + "KeyPairIds":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" + }, + "Items":{ + "shape":"KeyPairIdList", + "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" + } + }, + "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" + }, + "ListCloudFrontOriginAccessIdentitiesRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

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

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of origin access identities you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + }, + "documentation":"

The request to list origin access identities.

" + }, + "ListCloudFrontOriginAccessIdentitiesResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentityList":{ + "shape":"CloudFrontOriginAccessIdentityList", + "documentation":"

The CloudFrontOriginAccessIdentityList type.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentityList" + }, + "ListDistributionsByWebACLIdRequest":{ + "type":"structure", + "required":["WebACLId"], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.

", + "location":"querystring", + "locationName":"MaxItems" + }, + "WebACLId":{ + "shape":"string", + "documentation":"

The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify \"null\" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.

", + "location":"uri", + "locationName":"WebACLId" + } + }, + "documentation":"

The request to list distributions that are associated with a specified AWS WAF web ACL.

" + }, + "ListDistributionsByWebACLIdResult":{ + "type":"structure", + "members":{ + "DistributionList":{ + "shape":"DistributionList", + "documentation":"

The DistributionList type.

" + } + }, + "documentation":"

The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.

", + "payload":"DistributionList" + }, + "ListDistributionsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

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

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of distributions you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + }, + "documentation":"

The request to list your distributions.

" + }, + "ListDistributionsResult":{ + "type":"structure", + "members":{ + "DistributionList":{ + "shape":"DistributionList", + "documentation":"

The DistributionList type.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"DistributionList" + }, + "ListInvalidationsRequest":{ + "type":"structure", + "required":["DistributionId"], + "members":{ + "DistributionId":{ + "shape":"string", + "documentation":"

The distribution's ID.

", + "location":"uri", + "locationName":"DistributionId" + }, + "Marker":{ + "shape":"string", + "documentation":"

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. 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. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of invalidation batches that you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + }, + "documentation":"

The request to list invalidations.

" + }, + "ListInvalidationsResult":{ + "type":"structure", + "members":{ + "InvalidationList":{ + "shape":"InvalidationList", + "documentation":"

Information about invalidation batches.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"InvalidationList" + }, + "ListStreamingDistributionsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value that you provided for the Marker request parameter.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The value that you provided for the MaxItems request parameter.

", + "location":"querystring", + "locationName":"MaxItems" + } + }, + "documentation":"

The request to list your streaming distributions.

" + }, + "ListStreamingDistributionsResult":{ + "type":"structure", + "members":{ + "StreamingDistributionList":{ + "shape":"StreamingDistributionList", + "documentation":"

The StreamingDistributionList type.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistributionList" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["Resource"], + "members":{ + "Resource":{ + "shape":"ResourceARN", + "documentation":"

An ARN of a CloudFront resource.

", + "location":"querystring", + "locationName":"Resource" + } + }, + "documentation":"

The request to list tags for a CloudFront resource.

" + }, + "ListTagsForResourceResult":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Tags" + }, + "LocationList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Location" + } + }, + "LoggingConfig":{ + "type":"structure", + "required":[ + "Enabled", + "IncludeCookies", + "Bucket", + "Prefix" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, the values are automatically deleted.

" + }, + "IncludeCookies":{ + "shape":"boolean", + "documentation":"

Specifies whether you want CloudFront to include cookies in access logs, specify true for IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you do not want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify false for IncludeCookies.

" + }, + "Bucket":{ + "shape":"string", + "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" + }, + "Prefix":{ + "shape":"string", + "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" + } + }, + "documentation":"

A complex type that controls whether access logs are written for the distribution.

" + }, + "Method":{ + "type":"string", + "enum":[ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ] + }, + "MethodsList":{ + "type":"list", + "member":{ + "shape":"Method", + "locationName":"Method" + } + }, + "MinimumProtocolVersion":{ + "type":"string", + "enum":[ + "SSLv3", + "TLSv1" + ] + }, + "MissingBody":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NoSuchCloudFrontOriginAccessIdentity":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified origin access identity does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchDistribution":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified distribution does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchInvalidation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified invalidation does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchOrigin":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

No origin exists with the specified Origin Id.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchResource":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchStreamingDistribution":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified streaming distribution does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Origin":{ + "type":"structure", + "required":[ + "Id", + "DomainName" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

A unique identifier for the origin. The value of Id must be unique within the distribution.

When you specify the value of TargetOriginId for the default cache behavior or for another cache behavior, you indicate the origin to which you want the cache behavior to route requests by specifying the value of the Id element for that origin. When a request matches the path pattern for that cache behavior, CloudFront routes the request to the specified origin. For more information, see Cache Behavior Settings in the Amazon CloudFront Developer Guide.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com.

Constraints for Amazon S3 origins:

Custom Origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.

Constraints for custom origins:

" + }, + "OriginPath":{ + "shape":"string", + "documentation":"

An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. When you include the OriginPath element, specify the directory name, beginning with a /. CloudFront appends the directory name to the value of DomainName, for example, example.com/production. Do not include a / at the end of the directory name.

For example, suppose you've specified the following values for your distribution:

When a user enters example.com/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/index.html.

When a user enters example.com/acme/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/acme/index.html.

" + }, + "CustomHeaders":{ + "shape":"CustomHeaders", + "documentation":"

A complex type that contains names and values for the custom headers that you want.

" + }, + "S3OriginConfig":{ + "shape":"S3OriginConfig", + "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" + }, + "CustomOriginConfig":{ + "shape":"CustomOriginConfig", + "documentation":"

A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.

" + } + }, + "documentation":"

A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files. You must create at least one origin.

For the current limit on the number of origins that you can create for a distribution, see Amazon CloudFront Limits in the AWS General Reference.

" + }, + "OriginCustomHeader":{ + "type":"structure", + "required":[ + "HeaderName", + "HeaderValue" + ], + "members":{ + "HeaderName":{ + "shape":"string", + "documentation":"

The name of a header that you want CloudFront to forward to your origin. For more information, see Forwarding Custom Headers to Your Origin (Web Distributions Only) in the Amazon Amazon CloudFront Developer Guide.

" + }, + "HeaderValue":{ + "shape":"string", + "documentation":"

The value for the header that you specified in the HeaderName field.

" + } + }, + "documentation":"

A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.

" + }, + "OriginCustomHeadersList":{ + "type":"list", + "member":{ + "shape":"OriginCustomHeader", + "locationName":"OriginCustomHeader" + } + }, + "OriginList":{ + "type":"list", + "member":{ + "shape":"Origin", + "locationName":"Origin" + }, + "min":1 + }, + "OriginProtocolPolicy":{ + "type":"string", + "enum":[ + "http-only", + "match-viewer", + "https-only" + ] + }, + "OriginSslProtocols":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.

" + }, + "Items":{ + "shape":"SslProtocolsList", + "documentation":"

A list that contains allowed SSL/TLS protocols for this distribution.

" + } + }, + "documentation":"

A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.

" + }, + "Origins":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origins for this distribution.

" + }, + "Items":{ + "shape":"OriginList", + "documentation":"

A complex type that contains origins for this distribution.

" + } + }, + "documentation":"

A complex type that contains information about origins for this distribution.

" + }, + "PathList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Path" + } + }, + "Paths":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of objects that you want to invalidate.

" + }, + "Items":{ + "shape":"PathList", + "documentation":"

A complex type that contains a list of the paths that you want to invalidate.

" + } + }, + "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" + }, + "PreconditionFailed":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The precondition given in one or more of the request-header fields evaluated to false.

", + "error":{"httpStatusCode":412}, + "exception":true + }, + "PriceClass":{ + "type":"string", + "enum":[ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ] + }, + "QueryStringCacheKeys":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of whitelisted query string parameters for this cache behavior.

" + }, + "Items":{ + "shape":"QueryStringCacheKeysList", + "documentation":"

(Optional) A list that contains the query string parameters that you want CloudFront to use as a basis for caching for this cache behavior. If Quantity is 0, you can omit Items.

" + } + } + }, + "QueryStringCacheKeysList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Name" + } + }, + "ResourceARN":{ + "type":"string", + "pattern":"arn:aws:cloudfront::[0-9]+:.*" + }, + "Restrictions":{ + "type":"structure", + "required":["GeoRestriction"], + "members":{ + "GeoRestriction":{"shape":"GeoRestriction"} + }, + "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" + }, + "S3Origin":{ + "type":"structure", + "required":[ + "DomainName", + "OriginAccessIdentity" + ], + "members":{ + "DomainName":{ + "shape":"string", + "documentation":"

The DNS name of the Amazon S3 origin.

" + }, + "OriginAccessIdentity":{ + "shape":"string", + "documentation":"

The CloudFront origin access identity to associate with the RTMP distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" + }, + "S3OriginConfig":{ + "type":"structure", + "required":["OriginAccessIdentity"], + "members":{ + "OriginAccessIdentity":{ + "shape":"string", + "documentation":"

The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can only access objects in an Amazon S3 bucket through CloudFront. The format of the value is:

origin-access-identity/CloudFront/ID-of-origin-access-identity

where ID-of-origin-access-identity is the value that CloudFront returned in the ID element when you created the origin access identity.

If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information about the origin access identity, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" + }, + "SSLSupportMethod":{ + "type":"string", + "enum":[ + "sni-only", + "vip" + ] + }, + "Signer":{ + "type":"structure", + "members":{ + "AwsAccountNumber":{ + "shape":"string", + "documentation":"

An AWS account that is included in the TrustedSigners complex type for this RTMP distribution. Valid values include:

" + }, + "KeyPairIds":{ + "shape":"KeyPairIds", + "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

" + } + }, + "documentation":"

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

" + }, + "SignerList":{ + "type":"list", + "member":{ + "shape":"Signer", + "locationName":"Signer" + } + }, + "SslProtocol":{ + "type":"string", + "enum":[ + "SSLv3", + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ] + }, + "SslProtocolsList":{ + "type":"list", + "member":{ + "shape":"SslProtocol", + "locationName":"SslProtocol" + } + }, + "StreamingDistribution":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "DomainName", + "ActiveTrustedSigners", + "StreamingDistributionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

" + }, + "ARN":{"shape":"string"}, + "Status":{ + "shape":"string", + "documentation":"

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time that the distribution was last modified.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name that corresponds to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.

" + }, + "ActiveTrustedSigners":{ + "shape":"ActiveTrustedSigners", + "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The current configuration information for the RTMP distribution.

" + } + }, + "documentation":"

A streaming distribution.

" + }, + "StreamingDistributionAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "StreamingDistributionConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "S3Origin", + "Comment", + "TrustedSigners", + "Enabled" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures that the request can't be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value that 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), the response includes the same information returned to the original request. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" + }, + "S3Origin":{ + "shape":"S3Origin", + "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Any comments you want to include about the streaming distribution.

" + }, + "Logging":{ + "shape":"StreamingLoggingConfig", + "documentation":"

A complex type that controls whether access logs are written for the streaming distribution.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "PriceClass":{ + "shape":"PriceClass", + "documentation":"

A complex type that contains information about price class for this streaming distribution.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the streaming distribution is enabled to accept user requests for content.

" + } + }, + "documentation":"

The RTMP distribution's configuration information.

" + }, + "StreamingDistributionConfigWithTags":{ + "type":"structure", + "required":[ + "StreamingDistributionConfig", + "Tags" + ], + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

A streaming distribution Configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

" + } + }, + "documentation":"

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

" + }, + "StreamingDistributionList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value you provided for the Marker request parameter.

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your RTMP distributions where they left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The value you provided for the MaxItems request parameter.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more streaming distributions remain to be listed. 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.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of streaming distributions that were created by the current AWS account.

" + }, + "Items":{ + "shape":"StreamingDistributionSummaryList", + "documentation":"

A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.

" + } + }, + "documentation":"

A streaming distribution list.

" + }, + "StreamingDistributionNotDisabled":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "StreamingDistributionSummary":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "LastModifiedTime", + "DomainName", + "S3Origin", + "Aliases", + "TrustedSigners", + "Comment", + "PriceClass", + "Enabled" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" + }, + "ARN":{ + "shape":"string", + "documentation":"

The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" + }, + "Status":{ + "shape":"string", + "documentation":"

Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time the distribution was last modified.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" + }, + "S3Origin":{ + "shape":"S3Origin", + "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

The comment originally specified when this distribution was created.

" + }, + "PriceClass":{"shape":"PriceClass"}, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" + } + }, + "documentation":"

A summary of the information for an Amazon CloudFront streaming distribution.

" + }, + "StreamingDistributionSummaryList":{ + "type":"list", + "member":{ + "shape":"StreamingDistributionSummary", + "locationName":"StreamingDistributionSummary" + } + }, + "StreamingLoggingConfig":{ + "type":"structure", + "required":[ + "Enabled", + "Bucket", + "Prefix" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" + }, + "Bucket":{ + "shape":"string", + "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" + }, + "Prefix":{ + "shape":"string", + "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" + } + }, + "documentation":"

A complex type that controls whether access logs are written for this streaming distribution.

" + }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

A string that contains an optional Tag value.

The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" + } + }, + "documentation":"

A complex type that contains Tag key and Tag value.

" + }, + "TagKey":{ + "type":"string", + "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{ + "shape":"TagKey", + "locationName":"Key" + } + }, + "TagKeys":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"TagKeyList", + "documentation":"

A complex type that contains Tag key elements.

" + } + }, + "documentation":"

A complex type that contains zero or more Tag elements.

" + }, + "TagList":{ + "type":"list", + "member":{ + "shape":"Tag", + "locationName":"Tag" + } + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "Tags" + ], + "members":{ + "Resource":{ + "shape":"ResourceARN", + "documentation":"

An ARN of a CloudFront resource.

", + "location":"querystring", + "locationName":"Resource" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

", + "locationName":"Tags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + } + }, + "documentation":"

The request to add tags to a CloudFront resource.

", + "payload":"Tags" + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"TagList", + "documentation":"

A complex type that contains Tag elements.

" + } + }, + "documentation":"

A complex type that contains zero or more Tag elements.

" + }, + "TooManyCacheBehaviors":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create more cache behaviors for the distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCertificates":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create anymore custom SSL/TLS certificates.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCloudFrontOriginAccessIdentities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCookieNamesInWhiteList":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionCNAMEs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributions":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of distributions allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyHeadersInForwardedValues":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyInvalidationsInProgress":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOriginCustomHeaders":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOrigins":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create more origins for the distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyQueryStringParameters":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyStreamingDistributionCNAMEs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyStreamingDistributions":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyTrustedSigners":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more trusted signers than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TrustedSignerDoesNotExist":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

One or more of your trusted signers do not exist.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TrustedSigners":{ + "type":"structure", + "required":[ + "Enabled", + "Quantity" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of trusted signers for this cache behavior.

" + }, + "Items":{ + "shape":"AwsAccountNumberList", + "documentation":"

Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig .

" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "TagKeys" + ], + "members":{ + "Resource":{ + "shape":"ResourceARN", + "documentation":"

An ARN of a CloudFront resource.

", + "location":"querystring", + "locationName":"Resource" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A complex type that contains zero or more Tag key elements.

", + "locationName":"TagKeys", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + } + }, + "documentation":"

The request to remove tags from a CloudFront resource.

", + "payload":"TagKeys" + }, + "UpdateCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":[ + "CloudFrontOriginAccessIdentityConfig", + "Id" + ], + "members":{ + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The identity's configuration information.

", + "locationName":"CloudFrontOriginAccessIdentityConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The identity's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update an origin access identity.

", + "payload":"CloudFrontOriginAccessIdentityConfig" + }, + "UpdateCloudFrontOriginAccessIdentityResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentity":{ + "shape":"CloudFrontOriginAccessIdentity", + "documentation":"

The origin access identity's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentity" + }, + "UpdateDistributionRequest":{ + "type":"structure", + "required":[ + "DistributionConfig", + "Id" + ], + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The distribution's configuration information.

", + "locationName":"DistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The distribution's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update a distribution.

", + "payload":"DistributionConfig" + }, + "UpdateDistributionResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "UpdateStreamingDistributionRequest":{ + "type":"structure", + "required":[ + "StreamingDistributionConfig", + "Id" + ], + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The streaming distribution's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update a streaming distribution.

", + "payload":"StreamingDistributionConfig" + }, + "UpdateStreamingDistributionResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "ViewerCertificate":{ + "type":"structure", + "members":{ + "CloudFrontDefaultCertificate":{ + "shape":"boolean", + "documentation":"

If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an ACMCertificateArn or IAMCertificateId.

" + }, + "IAMCertificateId":{ + "shape":"string", + "documentation":"

If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value, ACMCertificateArn, or CloudFrontDefaultCertificate.

" + }, + "ACMCertificateArn":{ + "shape":"string", + "documentation":"

If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the ACM certificate ARN of the custom viewer certificate for this distribution. Specify either this value, IAMCertificateId, or CloudFrontDefaultCertificate.

" + }, + "SSLSupportMethod":{ + "shape":"SSLSupportMethod", + "documentation":"

If you specify a value for ACMCertificateArn or for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

Do not specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" + }, + "MinimumProtocolVersion":{ + "shape":"MinimumProtocolVersion", + "documentation":"

Specify the minimum version of the SSL/TLS protocol that you want CloudFront to use for HTTPS connections between viewers and CloudFront: SSLv3 or TLSv1. CloudFront serves your objects only to viewers that support SSL/TLS version that you specify and later versions. The TLSv1 protocol is more secure, so we recommend that you specify SSLv3 only if your users are using browsers or devices that don't support TLSv1. Note the following:

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

Include one of these values to specify the following:

You must specify one (and only one) of the three values. Do not specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

", + "deprecated":true + }, + "CertificateSource":{ + "shape":"CertificateSource", + "documentation":"

This field is deprecated. You can use one of the following: [ACMCertificateArn, IAMCertificateId, or CloudFrontDefaultCertificate].

", + "deprecated":true + } + }, + "documentation":"

A complex type that specifies the following:

For more information, see Using an HTTPS Connection to Access Your Objects in the Amazon Amazon CloudFront Developer Guide.

" + }, + "ViewerProtocolPolicy":{ + "type":"string", + "enum":[ + "allow-all", + "https-only", + "redirect-to-https" + ] + }, + "boolean":{"type":"boolean"}, + "integer":{"type":"integer"}, + "long":{"type":"long"}, + "string":{"type":"string"}, + "timestamp":{"type":"timestamp"} + }, + "documentation":"Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about the CloudFront API actions, data types, and errors. For detailed information about CloudFront features and their associated API calls, see the Amazon CloudFront Developer Guide.

" +} diff --git a/botocore/data/cloudfront/2016-09-29/waiters-2.json b/botocore/data/cloudfront/2016-09-29/waiters-2.json new file mode 100644 index 00000000..6e044bc5 --- /dev/null +++ b/botocore/data/cloudfront/2016-09-29/waiters-2.json @@ -0,0 +1,47 @@ +{ + "version": 2, + "waiters": { + "DistributionDeployed": { + "delay": 60, + "operation": "GetDistribution", + "maxAttempts": 25, + "description": "Wait until a distribution is deployed.", + "acceptors": [ + { + "expected": "Deployed", + "matcher": "path", + "state": "success", + "argument": "Distribution.Status" + } + ] + }, + "InvalidationCompleted": { + "delay": 20, + "operation": "GetInvalidation", + "maxAttempts": 60, + "description": "Wait until an invalidation has completed.", + "acceptors": [ + { + "expected": "Completed", + "matcher": "path", + "state": "success", + "argument": "Invalidation.Status" + } + ] + }, + "StreamingDistributionDeployed": { + "delay": 60, + "operation": "GetStreamingDistribution", + "maxAttempts": 25, + "description": "Wait until a streaming distribution is deployed.", + "acceptors": [ + { + "expected": "Deployed", + "matcher": "path", + "state": "success", + "argument": "StreamingDistribution.Status" + } + ] + } + } +} diff --git a/botocore/data/config/2014-11-12/service-2.json b/botocore/data/config/2014-11-12/service-2.json old mode 100644 new mode 100755 index 119aae95..86fde7f1 --- a/botocore/data/config/2014-11-12/service-2.json +++ b/botocore/data/config/2014-11-12/service-2.json @@ -76,7 +76,7 @@ {"shape":"NoAvailableConfigurationRecorderException"}, {"shape":"NoRunningConfigurationRecorderException"} ], - "documentation":"

Schedules delivery of a configuration snapshot to the Amazon S3 bucket in the specified delivery channel. After the delivery has started, AWS Config sends following notifications using an Amazon SNS topic that you have specified.

" + "documentation":"

Schedules delivery of a configuration snapshot to the Amazon S3 bucket in the specified delivery channel. After the delivery has started, AWS Config sends following notifications using an Amazon SNS topic that you have specified.

" }, "DescribeComplianceByConfigRule":{ "name":"DescribeComplianceByConfigRule", @@ -90,7 +90,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"NoSuchConfigRuleException"} ], - "documentation":"

Indicates whether the specified AWS Config rules are compliant. If a rule is noncompliant, this action returns the number of AWS resources that do not comply with the rule.

A rule is compliant if all of the evaluated resources comply with it, and it is noncompliant if any of these resources do not comply.

If AWS Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions:

" + "documentation":"

Indicates whether the specified AWS Config rules are compliant. If a rule is noncompliant, this action returns the number of AWS resources that do not comply with the rule.

A rule is compliant if all of the evaluated resources comply with it, and it is noncompliant if any of these resources do not comply.

If AWS Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions:

" }, "DescribeComplianceByResource":{ "name":"DescribeComplianceByResource", @@ -104,7 +104,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Indicates whether the specified AWS resources are compliant. If a resource is noncompliant, this action returns the number of AWS Config rules that the resource does not comply with.

A resource is compliant if it complies with all the AWS Config rules that evaluate it. It is noncompliant if it does not comply with one or more of these rules.

If AWS Config has no current evaluation results for the resource, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions about the rules that evaluate the resource:

" + "documentation":"

Indicates whether the specified AWS resources are compliant. If a resource is noncompliant, this action returns the number of AWS Config rules that the resource does not comply with.

A resource is compliant if it complies with all the AWS Config rules that evaluate it. It is noncompliant if it does not comply with one or more of these rules.

If AWS Config has no current evaluation results for the resource, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions about the rules that evaluate the resource:

" }, "DescribeConfigRuleEvaluationStatus":{ "name":"DescribeConfigRuleEvaluationStatus", @@ -143,7 +143,7 @@ "errors":[ {"shape":"NoSuchConfigurationRecorderException"} ], - "documentation":"

Returns the current status of the specified configuration recorder. If a configuration recorder is not specified, this action returns the status of all configuration recorder associated with the account.

Currently, you can specify only one configuration recorder per account.

" + "documentation":"

Returns the current status of the specified configuration recorder. If a configuration recorder is not specified, this action returns the status of all configuration recorder associated with the account.

Currently, you can specify only one configuration recorder per region in your account.

" }, "DescribeConfigurationRecorders":{ "name":"DescribeConfigurationRecorders", @@ -156,7 +156,7 @@ "errors":[ {"shape":"NoSuchConfigurationRecorderException"} ], - "documentation":"

Returns the name of one or more specified configuration recorders. If the recorder name is not specified, this action returns the names of all the configuration recorders associated with the account.

Currently, you can specify only one configuration recorder per account.

" + "documentation":"

Returns the details for the specified configuration recorders. If the configuration recorder is not specified, this action returns the details for all configuration recorders associated with the account.

Currently, you can specify only one configuration recorder per region in your account.

" }, "DescribeDeliveryChannelStatus":{ "name":"DescribeDeliveryChannelStatus", @@ -169,7 +169,7 @@ "errors":[ {"shape":"NoSuchDeliveryChannelException"} ], - "documentation":"

Returns the current status of the specified delivery channel. If a delivery channel is not specified, this action returns the current status of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per account.

" + "documentation":"

Returns the current status of the specified delivery channel. If a delivery channel is not specified, this action returns the current status of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

" }, "DescribeDeliveryChannels":{ "name":"DescribeDeliveryChannels", @@ -182,7 +182,7 @@ "errors":[ {"shape":"NoSuchDeliveryChannelException"} ], - "documentation":"

Returns details about the specified delivery channel. If a delivery channel is not specified, this action returns the details of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per account.

" + "documentation":"

Returns details about the specified delivery channel. If a delivery channel is not specified, this action returns the details of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

" }, "GetComplianceDetailsByConfigRule":{ "name":"GetComplianceDetailsByConfigRule", @@ -282,7 +282,7 @@ {"shape":"InsufficientPermissionsException"}, {"shape":"NoAvailableConfigurationRecorderException"} ], - "documentation":"

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom Config rules and AWS managed Config rules. A custom Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding a new AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see Using AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you have added previously, specify the rule's ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 25.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" + "documentation":"

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom Config rules and AWS managed Config rules. A custom Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding a new AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see Using AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 25.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" }, "PutConfigurationRecorder":{ "name":"PutConfigurationRecorder", @@ -297,7 +297,7 @@ {"shape":"InvalidRoleException"}, {"shape":"InvalidRecordingGroupException"} ], - "documentation":"

Creates a new configuration recorder to record the selected resource configurations.

You can use this action to change the role roleARN and/or the recordingGroup of an existing recorder. To change the role, call the action on the existing configuration recorder and specify a role.

Currently, you can specify only one configuration recorder per account.

If ConfigurationRecorder does not have the recordingGroup parameter specified, the default is to record all supported resource types.

" + "documentation":"

Creates a new configuration recorder to record the selected resource configurations.

You can use this action to change the role roleARN and/or the recordingGroup of an existing recorder. To change the role, call the action on the existing configuration recorder and specify a role.

Currently, you can specify only one configuration recorder per region in your account.

If ConfigurationRecorder does not have the recordingGroup parameter specified, the default is to record all supported resource types.

" }, "PutDeliveryChannel":{ "name":"PutDeliveryChannel", @@ -315,7 +315,7 @@ {"shape":"InvalidSNSTopicARNException"}, {"shape":"InsufficientDeliveryPolicyException"} ], - "documentation":"

Creates a delivery channel object to deliver configuration information to an Amazon S3 bucket and Amazon SNS topic.

Before you can create a delivery channel, you must create a configuration recorder.

You can use this action to change the Amazon S3 bucket or an Amazon SNS topic of the existing delivery channel. To change the Amazon S3 bucket or an Amazon SNS topic, call this action and specify the changed values for the S3 bucket and the SNS topic. If you specify a different value for either the S3 bucket or the SNS topic, this action will keep the existing value for the parameter that is not changed.

You can have only one delivery channel per AWS account.

" + "documentation":"

Creates a delivery channel object to deliver configuration information to an Amazon S3 bucket and Amazon SNS topic.

Before you can create a delivery channel, you must create a configuration recorder.

You can use this action to change the Amazon S3 bucket or an Amazon SNS topic of the existing delivery channel. To change the Amazon S3 bucket or an Amazon SNS topic, call this action and specify the changed values for the S3 bucket and the SNS topic. If you specify a different value for either the S3 bucket or the SNS topic, this action will keep the existing value for the parameter that is not changed.

You can have only one delivery channel per region in your account.

" }, "PutEvaluations":{ "name":"PutEvaluations", @@ -346,7 +346,7 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Evaluates your resources against the specified Config rules. You can specify up to 25 Config rules per request.

An existing StartConfigRulesEvaluation call must complete for the specified rules before you can call the API again. If you chose to have AWS Config stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted notification when the evaluation starts.

You don't need to call the StartConfigRulesEvaluation API to run an evaluation for a new rule. When you create a new rule, AWS Config automatically evaluates your resources against the rule.

The StartConfigRulesEvaluation API is useful if you want to run on-demand evaluations, such as the following example:

  1. You have a custom rule that evaluates your IAM resources every 24 hours.

  2. You update your Lambda function to add additional conditions to your rule.

  3. Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation API.

  4. AWS Config invokes your Lambda function and evaluates your IAM resources.

  5. Your custom rule will still run periodic evaluations every 24 hours.

" + "documentation":"

Evaluates your resources against the specified Config rules. You can specify up to 25 Config rules per request.

An existing StartConfigRulesEvaluation call must complete for the specified rules before you can call the API again. If you chose to have AWS Config stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted notification when the evaluation starts.

You don't need to call the StartConfigRulesEvaluation API to run an evaluation for a new rule. When you create a new rule, AWS Config automatically evaluates your resources against the rule.

The StartConfigRulesEvaluation API is useful if you want to run on-demand evaluations, such as the following example:

  1. You have a custom rule that evaluates your IAM resources every 24 hours.

  2. You update your Lambda function to add additional conditions to your rule.

  3. Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation API.

  4. AWS Config invokes your Lambda function and evaluates your IAM resources.

  5. Your custom rule will still run periodic evaluations every 24 hours.

" }, "StartConfigurationRecorder":{ "name":"StartConfigurationRecorder", @@ -419,7 +419,7 @@ "documentation":"

Indicates whether the AWS Config rule is compliant.

" } }, - "documentation":"

Indicates whether an AWS Config rule is compliant. A rule is compliant if all of the resources that the rule evaluated comply with it, and it is noncompliant if any of these resources do not comply.

" + "documentation":"

Indicates whether an AWS Config rule is compliant. A rule is compliant if all of the resources that the rule evaluated comply with it, and it is noncompliant if any of these resources do not comply.

" }, "ComplianceByConfigRules":{ "type":"list", @@ -441,7 +441,7 @@ "documentation":"

Indicates whether the AWS resource complies with all of the AWS Config rules that evaluated it.

" } }, - "documentation":"

Indicates whether an AWS resource that is evaluated according to one or more AWS Config rules is compliant. A resource is compliant if it complies with all of the rules that evaluate it, and it is noncompliant if it does not comply with one or more of these rules.

" + "documentation":"

Indicates whether an AWS resource that is evaluated according to one or more AWS Config rules is compliant. A resource is compliant if it complies with all of the rules that evaluate it, and it is noncompliant if it does not comply with one or more of these rules.

" }, "ComplianceByResources":{ "type":"list", @@ -459,7 +459,7 @@ "documentation":"

Indicates whether the maximum count is reached.

" } }, - "documentation":"

The number of AWS resources or AWS Config rules responsible for the current compliance of the item, up to a maximum number.

" + "documentation":"

The number of AWS resources or AWS Config rules responsible for the current compliance of the item, up to a maximum number.

" }, "ComplianceResourceTypes":{ "type":"list", @@ -582,7 +582,7 @@ }, "MaximumExecutionFrequency":{ "shape":"MaximumExecutionFrequency", - "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

For more information, see ConfigSnapshotDeliveryProperties.

" + "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

For more information, see ConfigSnapshotDeliveryProperties.

" }, "ConfigRuleState":{ "shape":"ConfigRuleState", @@ -636,7 +636,7 @@ }, "FirstEvaluationStarted":{ "shape":"Boolean", - "documentation":"

Indicates whether AWS Config has evaluated your resources against the rule at least once.

" + "documentation":"

Indicates whether AWS Config has evaluated your resources against the rule at least once.

" } }, "documentation":"

Status information for your AWS managed Config rules. The status includes information such as the last time the rule ran, the last time it failed, and the related error for the last failure.

This action does not return status information about custom Config rules.

" @@ -672,14 +672,14 @@ "documentation":"

The frequency with which AWS Config delivers configuration snapshots.

" } }, - "documentation":"

Provides options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket in your delivery channel.

If you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot, see the following:

The frequency for a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot is set by one of two values, depending on which is less frequent:

If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency value.

  1. For example, you want your rule to run evaluations when AWS Config delivers the configuration snapshot.

  2. You specify the MaximumExecutionFrequency value for Six_Hours.

  3. You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.

  4. Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency, AWS Config invokes evaluations for the rule every 24 hours.

You should set the MaximumExecutionFrequency value to be at least as frequent as the deliveryFrequency value. You can view the deliveryFrequency value by using the DescribeDeliveryChannnels action.

To update the deliveryFrequency with which AWS Config delivers your configuration snapshots, use the PutDeliveryChannel action.

" + "documentation":"

Provides options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket in your delivery channel.

If you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot, see the following:

The frequency for a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot is set by one of two values, depending on which is less frequent:

If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency value.

  1. For example, you want your rule to run evaluations when AWS Config delivers the configuration snapshot.

  2. You specify the MaximumExecutionFrequency value for Six_Hours.

  3. You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.

  4. Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency, AWS Config invokes evaluations for the rule every 24 hours.

You should set the MaximumExecutionFrequency value to be at least as frequent as the deliveryFrequency value. You can view the deliveryFrequency value by using the DescribeDeliveryChannnels action.

To update the deliveryFrequency with which AWS Config delivers your configuration snapshots, use the PutDeliveryChannel action.

" }, "ConfigStreamDeliveryInfo":{ "type":"structure", "members":{ "lastStatus":{ "shape":"DeliveryStatus", - "documentation":"

Status of the last attempted delivery.

Note Providing an SNS topic on a DeliveryChannel for AWS Config is optional. If the SNS delivery is turned off, the last status will be Not_Applicable.

" + "documentation":"

Status of the last attempted delivery.

Note Providing an SNS topic on a DeliveryChannel for AWS Config is optional. If the SNS delivery is turned off, the last status will be Not_Applicable.

" }, "lastErrorCode":{ "shape":"String", @@ -694,7 +694,7 @@ "documentation":"

The time from the last status change.

" } }, - "documentation":"

A list that contains the status of the delivery of the configuration stream notification to the Amazon SNS topic.

" + "documentation":"

A list that contains the status of the delivery of the configuration stream notification to the Amazon SNS topic.

" }, "Configuration":{"type":"string"}, "ConfigurationItem":{ @@ -722,7 +722,7 @@ }, "configurationItemMD5Hash":{ "shape":"ConfigurationItemMD5Hash", - "documentation":"

Unique MD5 hash that represents the configuration item's state.

You can use MD5 hash to compare the states of two or more configuration items that are associated with the same resource.

" + "documentation":"

Unique MD5 hash that represents the configuration item's state.

You can use MD5 hash to compare the states of two or more configuration items that are associated with the same resource.

" }, "arn":{ "shape":"ARN", @@ -750,7 +750,7 @@ }, "resourceCreationTime":{ "shape":"ResourceCreationTime", - "documentation":"

The time stamp when the resource was created.

" + "documentation":"

The time stamp when the resource was created.

" }, "tags":{ "shape":"Tags", @@ -795,7 +795,7 @@ "members":{ "name":{ "shape":"RecorderName", - "documentation":"

The name of the recorder. By default, AWS Config automatically assigns the name "default" when creating the configuration recorder. You cannot change the assigned name.

" + "documentation":"

The name of the recorder. By default, AWS Config automatically assigns the name \"default\" when creating the configuration recorder. You cannot change the assigned name.

" }, "roleARN":{ "shape":"String", @@ -868,7 +868,8 @@ "shape":"StringWithCharLimit64", "documentation":"

The name of the AWS Config rule that you want to delete.

" } - } + }, + "documentation":"

" }, "DeleteConfigurationRecorderRequest":{ "type":"structure", @@ -890,7 +891,7 @@ "documentation":"

The name of the delivery channel to delete.

" } }, - "documentation":"

The input for the DeleteDeliveryChannel action. The action accepts the following data in JSON format.

" + "documentation":"

The input for the DeleteDeliveryChannel action. The action accepts the following data in JSON format.

" }, "DeleteEvaluationResultsRequest":{ "type":"structure", @@ -900,7 +901,8 @@ "shape":"StringWithCharLimit64", "documentation":"

The name of the Config rule for which you want to delete the evaluation results.

" } - } + }, + "documentation":"

" }, "DeleteEvaluationResultsResponse":{ "type":"structure", @@ -917,7 +919,7 @@ "documentation":"

The name of the delivery channel through which the snapshot is delivered.

" } }, - "documentation":"

The input for the DeliverConfigSnapshot action.

" + "documentation":"

The input for the DeliverConfigSnapshot action.

" }, "DeliverConfigSnapshotResponse":{ "type":"structure", @@ -927,14 +929,14 @@ "documentation":"

The ID of the snapshot that is being created.

" } }, - "documentation":"

The output for the DeliverConfigSnapshot action in JSON format.

" + "documentation":"

The output for the DeliverConfigSnapshot action in JSON format.

" }, "DeliveryChannel":{ "type":"structure", "members":{ "name":{ "shape":"ChannelName", - "documentation":"

The name of the delivery channel. By default, AWS Config assigns the name "default" when creating the delivery channel. To change the delivery channel name, you must use the DeleteDeliveryChannel action to delete your current delivery channel, and then you must use the PutDeliveryChannel command to create a delivery channel that has the desired name.

" + "documentation":"

The name of the delivery channel. By default, AWS Config assigns the name \"default\" when creating the delivery channel. To change the delivery channel name, you must use the DeleteDeliveryChannel action to delete your current delivery channel, and then you must use the PutDeliveryChannel command to create a delivery channel that has the desired name.

" }, "s3BucketName":{ "shape":"String", @@ -980,7 +982,7 @@ "documentation":"

A list containing the status of the delivery of the configuration stream notification to the specified Amazon SNS topic.

" } }, - "documentation":"

The status of a specified delivery channel.

Valid values: Success | Failure

" + "documentation":"

The status of a specified delivery channel.

Valid values: Success | Failure

" }, "DeliveryChannelStatusList":{ "type":"list", @@ -1009,7 +1011,8 @@ "shape":"String", "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "DescribeComplianceByConfigRuleResponse":{ "type":"structure", @@ -1022,7 +1025,8 @@ "shape":"String", "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "DescribeComplianceByResourceRequest":{ "type":"structure", @@ -1047,7 +1051,8 @@ "shape":"NextToken", "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "DescribeComplianceByResourceResponse":{ "type":"structure", @@ -1060,16 +1065,18 @@ "shape":"NextToken", "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "DescribeConfigRuleEvaluationStatusRequest":{ "type":"structure", "members":{ "ConfigRuleNames":{ "shape":"ConfigRuleNames", - "documentation":"

The name of the AWS managed Config rules for which you want status information. If you do not specify any names, AWS Config returns status information for all AWS managed Config rules that you use.

" + "documentation":"

The name of the AWS managed Config rules for which you want status information. If you do not specify any names, AWS Config returns status information for all AWS managed Config rules that you use.

" } - } + }, + "documentation":"

" }, "DescribeConfigRuleEvaluationStatusResponse":{ "type":"structure", @@ -1078,7 +1085,8 @@ "shape":"ConfigRuleEvaluationStatusList", "documentation":"

Status information about your AWS managed Config rules.

" } - } + }, + "documentation":"

" }, "DescribeConfigRulesRequest":{ "type":"structure", @@ -1091,7 +1099,8 @@ "shape":"String", "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "DescribeConfigRulesResponse":{ "type":"structure", @@ -1104,14 +1113,15 @@ "shape":"String", "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "DescribeConfigurationRecorderStatusRequest":{ "type":"structure", "members":{ "ConfigurationRecorderNames":{ "shape":"ConfigurationRecorderNameList", - "documentation":"

The name(s) of the configuration recorder. If the name is not specified, the action returns the current status of all the configuration recorders associated with the account.

" + "documentation":"

The name(s) of the configuration recorder. If the name is not specified, the action returns the current status of all the configuration recorders associated with the account.

" } }, "documentation":"

The input for the DescribeConfigurationRecorderStatus action.

" @@ -1121,7 +1131,7 @@ "members":{ "ConfigurationRecordersStatus":{ "shape":"ConfigurationRecorderStatusList", - "documentation":"

A list that contains status of the specified recorders.

" + "documentation":"

A list that contains status of the specified recorders.

" } }, "documentation":"

The output for the DescribeConfigurationRecorderStatus action in JSON format.

" @@ -1252,7 +1262,7 @@ "documentation":"

An encrypted token that associates an evaluation with an AWS Config rule. The token identifies the rule, the AWS resource being evaluated, and the event that triggered the evaluation.

" } }, - "documentation":"

The details of an AWS Config evaluation. Provides the AWS resource that was evaluated, the compliance of the resource, related timestamps, and supplementary information.

" + "documentation":"

The details of an AWS Config evaluation. Provides the AWS resource that was evaluated, the compliance of the resource, related timestamps, and supplementary information.

" }, "EvaluationResultIdentifier":{ "type":"structure", @@ -1320,7 +1330,8 @@ "shape":"NextToken", "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "GetComplianceDetailsByConfigRuleResponse":{ "type":"structure", @@ -1333,7 +1344,8 @@ "shape":"NextToken", "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "GetComplianceDetailsByResourceRequest":{ "type":"structure", @@ -1358,7 +1370,8 @@ "shape":"String", "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "GetComplianceDetailsByResourceResponse":{ "type":"structure", @@ -1371,7 +1384,8 @@ "shape":"String", "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "GetComplianceSummaryByConfigRuleResponse":{ "type":"structure", @@ -1380,7 +1394,8 @@ "shape":"ComplianceSummary", "documentation":"

The number of AWS Config rules that are compliant and the number that are noncompliant, up to a maximum of 25 for each.

" } - } + }, + "documentation":"

" }, "GetComplianceSummaryByResourceTypeRequest":{ "type":"structure", @@ -1389,7 +1404,8 @@ "shape":"ResourceTypes", "documentation":"

Specify one or more resource types to get the number of resources that are compliant and the number that are noncompliant for each resource type.

For this request, you can specify an AWS resource type such as AWS::EC2::Instance, and you can specify that the resource type is an AWS account by specifying AWS::::Account.

" } - } + }, + "documentation":"

" }, "GetComplianceSummaryByResourceTypeResponse":{ "type":"structure", @@ -1398,7 +1414,8 @@ "shape":"ComplianceSummariesByResourceType", "documentation":"

The number of resources that are compliant and the number that are noncompliant. If one or more resource types were provided with the request, the numbers are returned for each resource type. The maximum number returned is 100.

" } - } + }, + "documentation":"

" }, "GetResourceConfigHistoryRequest":{ "type":"structure", @@ -1464,7 +1481,7 @@ "type":"structure", "members":{ }, - "documentation":"

Indicates one of the following errors:

", + "documentation":"

Indicates one of the following errors:

", "exception":true }, "Integer":{"type":"integer"}, @@ -1593,7 +1610,8 @@ "shape":"NextToken", "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "ListDiscoveredResourcesResponse":{ "type":"structure", @@ -1606,7 +1624,8 @@ "shape":"NextToken", "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" } - } + }, + "documentation":"

" }, "MaxNumberOfConfigRulesExceededException":{ "type":"structure", @@ -1711,7 +1730,8 @@ "required":["ConfigRule"], "members":{ "ConfigRule":{"shape":"ConfigRule"} - } + }, + "documentation":"

" }, "PutConfigurationRecorderRequest":{ "type":"structure", @@ -1747,7 +1767,8 @@ "shape":"String", "documentation":"

An encrypted token that associates an evaluation with an AWS Config rule. Identifies the rule and the event that triggered the evaluation

" } - } + }, + "documentation":"

" }, "PutEvaluationsResponse":{ "type":"structure", @@ -1756,7 +1777,8 @@ "shape":"Evaluations", "documentation":"

Requests that failed because of a client or server error.

" } - } + }, + "documentation":"

" }, "RecorderName":{ "type":"string", @@ -1903,7 +1925,8 @@ "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::ElasticLoadBalancingV2::LoadBalancer", + "AWS::S3::Bucket" ] }, "ResourceTypeList":{ @@ -1936,7 +1959,7 @@ "documentation":"

The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ComplianceResourceTypes.

" } }, - "documentation":"

Defines which resources trigger an evaluation for an AWS Config rule. The scope can include one or more resource types, a combination of a tag key and value, or a combination of one resource type and one resource ID. Specify a scope to constrain which resources trigger an evaluation for a rule. Otherwise, evaluations for the rule are triggered when any resource in your recording group changes in configuration.

" + "documentation":"

Defines which resources trigger an evaluation for an AWS Config rule. The scope can include one or more resource types, a combination of a tag key and value, or a combination of one resource type and one resource ID. Specify a scope to constrain which resources trigger an evaluation for a rule. Otherwise, evaluations for the rule are triggered when any resource in your recording group changes in configuration.

" }, "Source":{ "type":"structure", @@ -1947,7 +1970,7 @@ }, "SourceIdentifier":{ "shape":"StringWithCharLimit256", - "documentation":"

For AWS managed Config rules, a pre-defined identifier from a list. To reference the list, see Using AWS Managed Config Rules.

For custom Config rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function.

" + "documentation":"

For AWS Config managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using AWS Managed Config Rules.

For custom rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name.

" }, "SourceDetails":{ "shape":"SourceDetails", @@ -1961,11 +1984,11 @@ "members":{ "EventSource":{ "shape":"EventSource", - "documentation":"

The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.

" + "documentation":"

The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.

" }, "MessageType":{ "shape":"MessageType", - "documentation":"

The type of notification that triggers AWS Config to run an evaluation. You can specify the following notification types:

ConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers a configuration item change notification.

ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.

" + "documentation":"

The type of notification that triggers AWS Config to run an evaluation. You can specify the following notification types:

ConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers a configuration item change notification.

ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.

" }, "MaximumExecutionFrequency":{ "shape":"MaximumExecutionFrequency", @@ -1987,7 +2010,8 @@ "shape":"ReevaluateConfigRuleNames", "documentation":"

The list of names of Config rules that you want to run evaluations for.

" } - } + }, + "documentation":"

" }, "StartConfigRulesEvaluationResponse":{ "type":"structure", diff --git a/botocore/data/ecr/2015-09-21/service-2.json b/botocore/data/ecr/2015-09-21/service-2.json index 2c017c1b..ed6a3f80 100755 --- a/botocore/data/ecr/2015-09-21/service-2.json +++ b/botocore/data/ecr/2015-09-21/service-2.json @@ -124,6 +124,22 @@ ], "documentation":"

Deletes the repository policy from a specified repository.

" }, + "DescribeImages":{ + "name":"DescribeImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImagesRequest"}, + "output":{"shape":"DescribeImagesResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ImageNotFoundException"} + ], + "documentation":"

Returns metadata about the images in a repository, including image size and creation date.

Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages.

" + }, "DescribeRepositories":{ "name":"DescribeRepositories", "http":{ @@ -470,9 +486,13 @@ "CreateRepositoryResponse":{ "type":"structure", "members":{ - "repository":{"shape":"Repository"} + "repository":{ + "shape":"Repository", + "documentation":"

The repository that was created.

" + } } }, + "CreationTimestamp":{"type":"timestamp"}, "DeleteRepositoryPolicyRequest":{ "type":"structure", "required":["repositoryName"], @@ -525,7 +545,63 @@ "DeleteRepositoryResponse":{ "type":"structure", "members":{ - "repository":{"shape":"Repository"} + "repository":{ + "shape":"Repository", + "documentation":"

The repository that was deleted.

" + } + } + }, + "DescribeImagesFilter":{ + "type":"structure", + "members":{ + "tagStatus":{ + "shape":"TagStatus", + "documentation":"

The tag status with which to filter your DescribeImages results. You can filter results based on whether they are TAGGED or UNTAGGED.

" + } + }, + "documentation":"

An object representing a filter on a DescribeImages operation.

" + }, + "DescribeImagesRequest":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository in which to list images. If you do not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.

" + }, + "imageIds":{ + "shape":"ImageIdentifierList", + "documentation":"

The list of image IDs for the requested repository.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value returned from a previous paginated DescribeImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of repository results returned by DescribeImages in paginated output. When this parameter is used, DescribeImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImages request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeImages returns up to 100 results and a nextToken value, if applicable.

" + }, + "filter":{ + "shape":"DescribeImagesFilter", + "documentation":"

The filter key and value with which to filter your DescribeImages results.

" + } + } + }, + "DescribeImagesResponse":{ + "type":"structure", + "members":{ + "imageDetails":{ + "shape":"ImageDetailList", + "documentation":"

A list of ImageDetail objects that contain data about the image.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value to include in a future DescribeImages request. When the results of a DescribeImages request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" + } } }, "DescribeRepositoriesRequest":{ @@ -698,6 +774,40 @@ "documentation":"

The specified image has already been pushed, and there are no changes to the manifest or image tag since the last push.

", "exception":true }, + "ImageDetail":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry to which this image belongs.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository to which this image belongs.

" + }, + "imageDigest":{ + "shape":"ImageDigest", + "documentation":"

The sha256 digest of the image manifest.

" + }, + "imageTags":{ + "shape":"ImageTagList", + "documentation":"

The list of tags associated with this image.

" + }, + "imageSizeInBytes":{ + "shape":"ImageSizeInBytes", + "documentation":"

The size, in bytes, of the image in the repository.

Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages.

" + }, + "imagePushedAt":{ + "shape":"PushTimestamp", + "documentation":"

The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository.

" + } + }, + "documentation":"

An object that describes an image returned by a DescribeImages operation.

" + }, + "ImageDetailList":{ + "type":"list", + "member":{"shape":"ImageDetail"} + }, "ImageDigest":{"type":"string"}, "ImageFailure":{ "type":"structure", @@ -757,7 +867,20 @@ "member":{"shape":"Image"} }, "ImageManifest":{"type":"string"}, + "ImageNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The image requested does not exist in the specified repository.

", + "exception":true + }, + "ImageSizeInBytes":{"type":"long"}, "ImageTag":{"type":"string"}, + "ImageTagList":{ + "type":"list", + "member":{"shape":"ImageTag"} + }, "InitiateLayerUploadRequest":{ "type":"structure", "required":["repositoryName"], @@ -1020,6 +1143,7 @@ "min":0 }, "ProxyEndpoint":{"type":"string"}, + "PushTimestamp":{"type":"timestamp"}, "PutImageRequest":{ "type":"structure", "required":[ @@ -1072,6 +1196,10 @@ "repositoryUri":{ "shape":"Url", "documentation":"

The URI for the repository. You can use this URI for Docker push and pull operations.

" + }, + "createdAt":{ + "shape":"CreationTimestamp", + "documentation":"

The date and time, in JavaScript date/time format, when the repository was created.

" } }, "documentation":"

An object representing a repository.

" diff --git a/botocore/data/elasticache/2015-02-02/service-2.json b/botocore/data/elasticache/2015-02-02/service-2.json index 6b53d814..d5227bf0 100644 --- a/botocore/data/elasticache/2015-02-02/service-2.json +++ b/botocore/data/elasticache/2015-02-02/service-2.json @@ -26,7 +26,7 @@ {"shape":"TagQuotaPerResourceExceeded"}, {"shape":"InvalidARNFault"} ], - "documentation":"

The AddTagsToResource action adds up to 10 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. Cost allocation tags can be used to categorize and track your AWS costs.

When you apply tags to your ElastiCache resources, AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache in the ElastiCache User Guide.

" + "documentation":"

Adds up to 10 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. You can use cost allocation tags to categorize and track your AWS costs.

When you apply tags to your ElastiCache resources, AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache in the ElastiCache User Guide.

" }, "AuthorizeCacheSecurityGroupIngress":{ "name":"AuthorizeCacheSecurityGroupIngress", @@ -46,7 +46,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The AuthorizeCacheSecurityGroupIngress action allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.

You cannot authorize ingress from an Amazon EC2 security group in one region to an ElastiCache cluster in another region.

" + "documentation":"

Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.

You cannot authorize ingress from an Amazon EC2 security group in one region to an ElastiCache cluster in another region.

" }, "CopySnapshot":{ "name":"CopySnapshot", @@ -67,7 +67,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The CopySnapshot action makes a copy of an existing snapshot.

Users or groups that have permissions to use the CopySnapshot API can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot API. For more information about using IAM to control the use of ElastiCache APIs, see Exporting Snapshots and Authentication & Access Control.

Erorr Message:

" + "documentation":"

Makes a copy of an existing snapshot.

This operation is valid for Redis only.

Users or groups that have permissions to use the CopySnapshot operation can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot operation. For more information about using IAM to control the use of ElastiCache operations, see Exporting Snapshots and Authentication & Access Control.

You could receive the following error messages.

Error Messages

" }, "CreateCacheCluster":{ "name":"CreateCacheCluster", @@ -96,7 +96,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The CreateCacheCluster action creates a cache cluster. All nodes in the cache cluster run the same protocol-compliant cache engine software, either Memcached or Redis.

" + "documentation":"

Creates a cache cluster. All nodes in the cache cluster run the same protocol-compliant cache engine software, either Memcached or Redis.

Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.

" }, "CreateCacheParameterGroup":{ "name":"CreateCacheParameterGroup", @@ -116,7 +116,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The CreateCacheParameterGroup action creates a new cache parameter group. A cache parameter group is a collection of parameters that you apply to all of the nodes in a cache cluster.

" + "documentation":"

Creates a new cache parameter group. A cache parameter group is a collection of parameters that you apply to all of the nodes in a cache cluster.

" }, "CreateCacheSecurityGroup":{ "name":"CreateCacheSecurityGroup", @@ -135,7 +135,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The CreateCacheSecurityGroup action creates a new cache security group. Use a cache security group to control access to one or more cache clusters.

Cache security groups are only used when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC). If you are creating a cache cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.

" + "documentation":"

Creates a new cache security group. Use a cache security group to control access to one or more cache clusters.

Cache security groups are only used when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cache cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.

" }, "CreateCacheSubnetGroup":{ "name":"CreateCacheSubnetGroup", @@ -154,7 +154,7 @@ {"shape":"CacheSubnetQuotaExceededFault"}, {"shape":"InvalidSubnet"} ], - "documentation":"

The CreateCacheSubnetGroup action creates a new cache subnet group.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (VPC).

" + "documentation":"

Creates a new cache subnet group.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

" }, "CreateReplicationGroup":{ "name":"CreateReplicationGroup", @@ -180,10 +180,11 @@ {"shape":"CacheParameterGroupNotFoundFault"}, {"shape":"InvalidVPCNetworkStateFault"}, {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"}, {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The CreateReplicationGroup action creates a replication group. A replication group is a collection of cache clusters, where one of the cache clusters is a read/write primary and the others are read-only replicas. Writes to the primary are automatically propagated to the replicas.

When you create a replication group, you must specify an existing cache cluster that is in the primary role. When the replication group has been successfully created, you can add one or more read replica replicas to it, up to a total of five read replicas.

This action is valid only for Redis.

" + "documentation":"

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.

A Redis (cluster mode disabled) replication group is a collection of cache clusters, where one of the cache clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.

A Redis (cluster mode enabled) replication group is a collection of 1 to 15 node groups (shards). Each node group (shard) has one read/write primary node and up to 5 read-only replica nodes. Writes to the primary are asynchronously propagated to the replicas. Redis (cluster mode enabled) replication groups partition the data across node groups (shards).

When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. You cannot alter a Redis (cluster mode enabled) replication group once it has been created.

This operation is valid for Redis only.

" }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -199,13 +200,15 @@ "errors":[ {"shape":"SnapshotAlreadyExistsFault"}, {"shape":"CacheClusterNotFoundFault"}, + {"shape":"ReplicationGroupNotFoundFault"}, {"shape":"InvalidCacheClusterStateFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, {"shape":"SnapshotQuotaExceededFault"}, {"shape":"SnapshotFeatureNotSupportedFault"}, {"shape":"InvalidParameterCombinationException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

The CreateSnapshot action creates a copy of an entire cache cluster at a specific moment in time.

" + "documentation":"

Creates a copy of an entire cache cluster or replication group at a specific moment in time.

This operation is valid for Redis only.

" }, "DeleteCacheCluster":{ "name":"DeleteCacheCluster", @@ -227,7 +230,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DeleteCacheCluster action deletes a previously provisioned cache cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cache cluster itself. When you receive a successful response from this action, Amazon ElastiCache immediately begins deleting the cache cluster; you cannot cancel or revert this action.

This API cannot be used to delete a cache cluster that is the last read replica of a replication group that has Multi-AZ mode enabled.

" + "documentation":"

Deletes a previously provisioned cache cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cache cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cache cluster; you cannot cancel or revert this operation.

This operation cannot be used to delete a cache cluster that is the last read replica of a replication group or node group (shard) that has Multi-AZ mode enabled or a cache cluster from a Redis (cluster mode enabled) replication group.

Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.

" }, "DeleteCacheParameterGroup":{ "name":"DeleteCacheParameterGroup", @@ -242,7 +245,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DeleteCacheParameterGroup action deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters.

" + "documentation":"

Deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters.

" }, "DeleteCacheSecurityGroup":{ "name":"DeleteCacheSecurityGroup", @@ -257,7 +260,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DeleteCacheSecurityGroup action deletes a cache security group.

You cannot delete a cache security group if it is associated with any cache clusters.

" + "documentation":"

Deletes a cache security group.

You cannot delete a cache security group if it is associated with any cache clusters.

" }, "DeleteCacheSubnetGroup":{ "name":"DeleteCacheSubnetGroup", @@ -270,7 +273,7 @@ {"shape":"CacheSubnetGroupInUse"}, {"shape":"CacheSubnetGroupNotFoundFault"} ], - "documentation":"

The DeleteCacheSubnetGroup action deletes a cache subnet group.

You cannot delete a cache subnet group if it is associated with any cache clusters.

" + "documentation":"

Deletes a cache subnet group.

You cannot delete a cache subnet group if it is associated with any cache clusters.

" }, "DeleteReplicationGroup":{ "name":"DeleteReplicationGroup", @@ -292,7 +295,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DeleteReplicationGroup action deletes an existing replication group. By default, this action deletes the entire replication group, including the primary cluster and all of the read replicas. You can optionally delete only the read replicas, while retaining the primary cluster.

When you receive a successful response from this action, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this action.

" + "documentation":"

Deletes an existing replication group. By default, this operation deletes the entire replication group, including the primary/primaries and all of the read replicas. If the replication group has only one primary, you can optionally delete only the read replicas, while retaining the primary by setting RetainPrimaryCluster=true.

When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation.

This operation is valid for Redis only.

" }, "DeleteSnapshot":{ "name":"DeleteSnapshot", @@ -311,7 +314,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DeleteSnapshot action deletes an existing snapshot. When you receive a successful response from this action, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this action.

" + "documentation":"

Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this operation.

This operation is valid for Redis only.

" }, "DescribeCacheClusters":{ "name":"DescribeCacheClusters", @@ -329,7 +332,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeCacheClusters action returns information about all provisioned cache clusters if no cache cluster identifier is specified, or about a specific cache cluster if a cache cluster identifier is supplied.

By default, abbreviated information about the cache clusters(s) will be returned. You can use the optional ShowDetails flag to retrieve detailed information about the cache nodes associated with the cache clusters. These details include the DNS address and port for the cache node endpoint.

If the cluster is in the CREATING state, only cluster level information will be displayed until all of the nodes are successfully provisioned.

If the cluster is in the DELETING state, only cluster level information will be displayed.

If cache nodes are currently being added to the cache cluster, node endpoint information and creation time for the additional nodes will not be displayed until they are completely provisioned. When the cache cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cache cluster, no endpoint information for the removed nodes is displayed.

" + "documentation":"

Returns information about all provisioned cache clusters if no cache cluster identifier is specified, or about a specific cache cluster if a cache cluster identifier is supplied.

By default, abbreviated information about the cache clusters are returned. You can use the optional ShowDetails flag to retrieve detailed information about the cache nodes associated with the cache clusters. These details include the DNS address and port for the cache node endpoint.

If the cluster is in the CREATING state, only cluster-level information is displayed until all of the nodes are successfully provisioned.

If the cluster is in the DELETING state, only cluster-level information is displayed.

If cache nodes are currently being added to the cache cluster, node endpoint information and creation time for the additional nodes are not displayed until they are completely provisioned. When the cache cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cache cluster, no endpoint information for the removed nodes is displayed.

" }, "DescribeCacheEngineVersions":{ "name":"DescribeCacheEngineVersions", @@ -342,7 +345,7 @@ "shape":"CacheEngineVersionMessage", "resultWrapper":"DescribeCacheEngineVersionsResult" }, - "documentation":"

The DescribeCacheEngineVersions action returns a list of the available cache engines and their versions.

" + "documentation":"

Returns a list of the available cache engines and their versions.

" }, "DescribeCacheParameterGroups":{ "name":"DescribeCacheParameterGroups", @@ -360,7 +363,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeCacheParameterGroups action returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list will contain only the descriptions for that group.

" + "documentation":"

Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list contains only the descriptions for that group.

" }, "DescribeCacheParameters":{ "name":"DescribeCacheParameters", @@ -378,7 +381,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeCacheParameters action returns the detailed parameter list for a particular cache parameter group.

" + "documentation":"

Returns the detailed parameter list for a particular cache parameter group.

" }, "DescribeCacheSecurityGroups":{ "name":"DescribeCacheSecurityGroups", @@ -396,7 +399,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeCacheSecurityGroups action returns a list of cache security group descriptions. If a cache security group name is specified, the list will contain only the description of that group.

" + "documentation":"

Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group.

" }, "DescribeCacheSubnetGroups":{ "name":"DescribeCacheSubnetGroups", @@ -412,7 +415,7 @@ "errors":[ {"shape":"CacheSubnetGroupNotFoundFault"} ], - "documentation":"

The DescribeCacheSubnetGroups action returns a list of cache subnet group descriptions. If a subnet group name is specified, the list will contain only the description of that group.

" + "documentation":"

Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

" }, "DescribeEngineDefaultParameters":{ "name":"DescribeEngineDefaultParameters", @@ -429,7 +432,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeEngineDefaultParameters action returns the default engine and system parameter information for the specified cache engine.

" + "documentation":"

Returns the default engine and system parameter information for the specified cache engine.

" }, "DescribeEvents":{ "name":"DescribeEvents", @@ -446,7 +449,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeEvents action returns events related to cache clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cache cluster, cache security group, or cache parameter group by providing the name as a parameter.

By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

" + "documentation":"

Returns events related to cache clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cache cluster, cache security group, or cache parameter group by providing the name as a parameter.

By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

" }, "DescribeReplicationGroups":{ "name":"DescribeReplicationGroups", @@ -464,7 +467,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeReplicationGroups action returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups returns information about all replication groups.

" + "documentation":"

Returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups returns information about all replication groups.

This operation is valid for Redis only.

" }, "DescribeReservedCacheNodes":{ "name":"DescribeReservedCacheNodes", @@ -482,7 +485,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeReservedCacheNodes action returns information about reserved cache nodes for this account, or about a specified reserved cache node.

" + "documentation":"

Returns information about reserved cache nodes for this account, or about a specified reserved cache node.

" }, "DescribeReservedCacheNodesOfferings":{ "name":"DescribeReservedCacheNodesOfferings", @@ -500,7 +503,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeReservedCacheNodesOfferings action lists available reserved cache node offerings.

" + "documentation":"

Lists available reserved cache node offerings.

" }, "DescribeSnapshots":{ "name":"DescribeSnapshots", @@ -519,7 +522,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The DescribeSnapshots action returns information about cache cluster snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.

" + "documentation":"

Returns information about cache cluster or replication group snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.

This operation is valid for Redis only.

" }, "ListAllowedNodeTypeModifications":{ "name":"ListAllowedNodeTypeModifications", @@ -538,7 +541,7 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

The ListAllowedNodeTypeModifications action lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.

When you use the ModifyCacheCluster or ModifyReplicationGroup APIs to scale up your cluster or replication group, the value of the CacheNodeType parameter must be one of the node types returned by this action.

" + "documentation":"

Lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.

When you use the ModifyCacheCluster or ModifyReplicationGroup operations to scale up your cluster or replication group, the value of the CacheNodeType parameter must be one of the node types returned by this operation.

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -556,7 +559,7 @@ {"shape":"SnapshotNotFoundFault"}, {"shape":"InvalidARNFault"} ], - "documentation":"

The ListTagsForResource action lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. Cost allocation tags can be used to categorize and track your AWS costs.

You can have a maximum of 10 cost allocation tags on an ElastiCache resource. For more information, see Using Cost Allocation Tags in Amazon ElastiCache.

" + "documentation":"

Lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. You can use cost allocation tags to categorize and track your AWS costs.

You can have a maximum of 10 cost allocation tags on an ElastiCache resource. For more information, see Using Cost Allocation Tags in Amazon ElastiCache.

" }, "ModifyCacheCluster":{ "name":"ModifyCacheCluster", @@ -582,7 +585,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The ModifyCacheCluster action modifies the settings for a cache cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values.

" + "documentation":"

Modifies the settings for a cache cluster. You can use this operation to change one or more cluster configuration parameters by specifying the parameters and the new values.

" }, "ModifyCacheParameterGroup":{ "name":"ModifyCacheParameterGroup", @@ -601,7 +604,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The ModifyCacheParameterGroup action modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

" + "documentation":"

Modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

" }, "ModifyCacheSubnetGroup":{ "name":"ModifyCacheSubnetGroup", @@ -620,7 +623,7 @@ {"shape":"SubnetInUse"}, {"shape":"InvalidSubnet"} ], - "documentation":"

The ModifyCacheSubnetGroup action modifies an existing cache subnet group.

" + "documentation":"

Modifies an existing cache subnet group.

" }, "ModifyReplicationGroup":{ "name":"ModifyReplicationGroup", @@ -648,7 +651,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The ModifyReplicationGroup action modifies the settings for a replication group.

" + "documentation":"

Modifies the settings for a replication group.

Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.

This operation is valid for Redis only.

" }, "PurchaseReservedCacheNodesOffering":{ "name":"PurchaseReservedCacheNodesOffering", @@ -668,7 +671,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The PurchaseReservedCacheNodesOffering action allows you to purchase a reserved cache node offering.

" + "documentation":"

Allows you to purchase a reserved cache node offering.

" }, "RebootCacheCluster":{ "name":"RebootCacheCluster", @@ -685,7 +688,7 @@ {"shape":"InvalidCacheClusterStateFault"}, {"shape":"CacheClusterNotFoundFault"} ], - "documentation":"

The RebootCacheCluster action reboots some, or all, of the cache nodes within a provisioned cache cluster. This API will apply any modified cache parameter groups to the cache cluster. The reboot action takes place as soon as possible, and results in a momentary outage to the cache cluster. During the reboot, the cache cluster status is set to REBOOTING.

The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.

When the reboot is complete, a cache cluster event is created.

" + "documentation":"

Reboots some, or all, of the cache nodes within a provisioned cache cluster. This operation applies any modified cache parameter groups to the cache cluster. The reboot operation takes place as soon as possible, and results in a momentary outage to the cache cluster. During the reboot, the cache cluster status is set to REBOOTING.

The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.

When the reboot is complete, a cache cluster event is created.

" }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", @@ -704,7 +707,7 @@ {"shape":"InvalidARNFault"}, {"shape":"TagNotFoundFault"} ], - "documentation":"

The RemoveTagsFromResource action removes the tags identified by the TagKeys list from the named resource.

" + "documentation":"

Removes the tags identified by the TagKeys list from the named resource.

" }, "ResetCacheParameterGroup":{ "name":"ResetCacheParameterGroup", @@ -723,7 +726,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The ResetCacheParameterGroup action modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters and CacheParameterGroupName parameters.

" + "documentation":"

Modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters and CacheParameterGroupName parameters.

" }, "RevokeCacheSecurityGroupIngress":{ "name":"RevokeCacheSecurityGroupIngress", @@ -743,7 +746,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

The RevokeCacheSecurityGroupIngress action revokes ingress from a cache security group. Use this action to disallow access from an Amazon EC2 security group that had been previously authorized.

" + "documentation":"

Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized.

" } }, "shapes":{ @@ -763,24 +766,20 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource to which the tags are to be added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource to which the tags are to be added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Tags":{ "shape":"TagList", "documentation":"

A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.

" } }, - "documentation":"

Represents the input of an AddTagsToResource action.

" + "documentation":"

Represents the input of an AddTagsToResource operation.

" }, "AllowedNodeTypeModificationsMessage":{ "type":"structure", "members":{ - "ScaleUpModifications":{ - "shape":"NodeTypeList", - "documentation":"

A string list, each element of which specifies a cache node type which you can use to scale your cache cluster or replication group.

When scaling up a Redis cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, use a value from this list for the CacheNodeType parameter.

" - } - }, - "documentation":"

Represents the allowed node types you can use to modify your cache cluster or replication group.

" + "ScaleUpModifications":{"shape":"NodeTypeList"} + } }, "AuthorizationAlreadyExistsFault":{ "type":"structure", @@ -816,7 +815,7 @@ "members":{ "CacheSecurityGroupName":{ "shape":"String", - "documentation":"

The cache security group which will allow network ingress.

" + "documentation":"

The cache security group that allows network ingress.

" }, "EC2SecurityGroupName":{ "shape":"String", @@ -827,7 +826,7 @@ "documentation":"

The AWS account number of the Amazon EC2 security group owner. Note that this is not the same thing as an AWS access key ID - you must provide a valid AWS account number for this parameter.

" } }, - "documentation":"

Represents the input of an AuthorizeCacheSecurityGroupIngress action.

" + "documentation":"

Represents the input of an AuthorizeCacheSecurityGroupIngress operation.

" }, "AuthorizeCacheSecurityGroupIngressResult":{ "type":"structure", @@ -879,11 +878,11 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the cache cluster.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

The name of the compute and memory capacity node type for the cache cluster.

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "Engine":{ "shape":"String", - "documentation":"

The name of the cache engine (memcached or redis) to be used for this cache cluster.

" + "documentation":"

The name of the cache engine (memcached or redis) to be used for this cache cluster.

" }, "EngineVersion":{ "shape":"String", @@ -891,7 +890,7 @@ }, "CacheClusterStatus":{ "shape":"String", - "documentation":"

The current state of this cache cluster, one of the following values: available, creating, deleted, deleting, incompatible-network, modifying, rebooting cache cluster nodes, restore-failed, or snapshotting.

" + "documentation":"

The current state of this cache cluster, one of the following values: available, creating, deleted, deleting, incompatible-network, modifying, rebooting cache cluster nodes, restore-failed, or snapshotting.

" }, "NumCacheNodes":{ "shape":"IntegerOptional", @@ -907,7 +906,7 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Example: sun:05:00-sun:09:00

" + "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

Example: sun:23:00-mon:01:30

" }, "PendingModifiedValues":{"shape":"PendingModifiedValues"}, "NotificationConfiguration":{"shape":"NotificationConfiguration"}, @@ -938,11 +937,11 @@ }, "SnapshotRetentionLimit":{ "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" + "documentation":"

The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" }, "SnapshotWindow":{ "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.

Example: 05:00-09:00

" + "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cache cluster.

Example: 05:00-09:00

" } }, "documentation":"

Contains all of the attributes of a specific cache cluster.

", @@ -979,7 +978,7 @@ "documentation":"

A list of cache clusters. Each item in the list contains detailed information about one cache cluster.

" } }, - "documentation":"

Represents the output of a DescribeCacheClusters action.

" + "documentation":"

Represents the output of a DescribeCacheClusters operation.

" }, "CacheClusterNotFoundFault":{ "type":"structure", @@ -1006,7 +1005,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family associated with this cache engine.

" + "documentation":"

The name of the cache parameter group family associated with this cache engine.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" }, "CacheEngineDescription":{ "shape":"String", @@ -1038,7 +1037,7 @@ "documentation":"

A list of cache engine version details. Each element in the list contains detailed information about one cache engine version.

" } }, - "documentation":"

Represents the output of a DescribeCacheEngineVersions action.

" + "documentation":"

Represents the output of a DescribeCacheEngineVersions operation.

" }, "CacheNode":{ "type":"structure", @@ -1065,14 +1064,14 @@ }, "SourceCacheNodeId":{ "shape":"String", - "documentation":"

The ID of the primary node to which this read replica node is synchronized. If this field is empty, then this node is not associated with a primary cache cluster.

" + "documentation":"

The ID of the primary node to which this read replica node is synchronized. If this field is empty, this node is not associated with a primary cache cluster.

" }, "CustomerAvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone where this node was created and now resides.

" } }, - "documentation":"

Represents an individual cache node within a cache cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

Represents an individual cache node within a cache cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "CacheNodeIdsList":{ "type":"list", @@ -1125,10 +1124,10 @@ }, "ChangeType":{ "shape":"ChangeType", - "documentation":"

ChangeType indicates whether a change to the parameter will be applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" + "documentation":"

Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" } }, - "documentation":"

A parameter that has a different value for each cache node type it is applied to. For example, in a Redis cache cluster, a cache.m1.large cache node type would have a larger maxmemory value than a cache.m1.small type.

" + "documentation":"

A parameter that has a different value for each cache node type it is applied to. For example, in a Redis cache cluster, a cache.m1.large cache node type would have a larger maxmemory value than a cache.m1.small type.

" }, "CacheNodeTypeSpecificParametersList":{ "type":"list", @@ -1167,14 +1166,14 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family that this cache parameter group is compatible with.

" + "documentation":"

The name of the cache parameter group family that this cache parameter group is compatible with.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" }, "Description":{ "shape":"String", "documentation":"

The description for this cache parameter group.

" } }, - "documentation":"

Represents the output of a CreateCacheParameterGroup action.

", + "documentation":"

Represents the output of a CreateCacheParameterGroup operation.

", "wrapper":true }, "CacheParameterGroupAlreadyExistsFault":{ @@ -1205,7 +1204,7 @@ "documentation":"

A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.

" } }, - "documentation":"

Represents the output of a DescribeCacheParameters action.

" + "documentation":"

Represents the output of a DescribeCacheParameters operation.

" }, "CacheParameterGroupList":{ "type":"list", @@ -1222,7 +1221,7 @@ "documentation":"

The name of the cache parameter group.

" } }, - "documentation":"

Represents the output of one of the following actions:

" + "documentation":"

Represents the output of one of the following operations:

" }, "CacheParameterGroupNotFoundFault":{ "type":"structure", @@ -1264,7 +1263,7 @@ "documentation":"

A list of the cache node IDs which need to be rebooted for parameter changes to be applied. A node ID is a numeric identifier (0001, 0002, etc.).

" } }, - "documentation":"

The status of the cache parameter group.

" + "documentation":"

Status of the cache parameter group.

" }, "CacheParameterGroupsMessage":{ "type":"structure", @@ -1278,7 +1277,7 @@ "documentation":"

A list of cache parameter groups. Each element in the list contains detailed information about one cache parameter group.

" } }, - "documentation":"

Represents the output of a DescribeCacheParameterGroups action.

" + "documentation":"

Represents the output of a DescribeCacheParameterGroups operation.

" }, "CacheSecurityGroup":{ "type":"structure", @@ -1300,7 +1299,7 @@ "documentation":"

A list of Amazon EC2 security groups that are associated with this cache security group.

" } }, - "documentation":"

Represents the output of one of the following actions:

", + "documentation":"

Represents the output of one of the following operations:

", "wrapper":true }, "CacheSecurityGroupAlreadyExistsFault":{ @@ -1348,7 +1347,7 @@ "documentation":"

A list of cache security groups. Each element in the list contains detailed information about one group.

" } }, - "documentation":"

Represents the output of a DescribeCacheSecurityGroups action.

" + "documentation":"

Represents the output of a DescribeCacheSecurityGroups operation.

" }, "CacheSecurityGroupNameList":{ "type":"list", @@ -1408,7 +1407,7 @@ "documentation":"

A list of subnets associated with the cache subnet group.

" } }, - "documentation":"

Represents the output of one of the following actions:

", + "documentation":"

Represents the output of one of the following operations:

", "wrapper":true }, "CacheSubnetGroupAlreadyExistsFault":{ @@ -1447,7 +1446,7 @@ "documentation":"

A list of cache subnet groups. Each element in the list contains detailed information about one group.

" } }, - "documentation":"

Represents the output of a DescribeCacheSubnetGroups action.

" + "documentation":"

Represents the output of a DescribeCacheSubnetGroups operation.

" }, "CacheSubnetGroupNotFoundFault":{ "type":"structure", @@ -1531,14 +1530,14 @@ }, "TargetSnapshotName":{ "shape":"String", - "documentation":"

A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, therefore this name must be unique within its context - ElastiCache or an Amazon S3 bucket if exporting.

Error Message

" + "documentation":"

A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, therefore this name must be unique within its context - ElastiCache or an Amazon S3 bucket if exporting.

" }, "TargetBucket":{ "shape":"String", - "documentation":"

The Amazon S3 bucket to which the snapshot will be exported. This parameter is used only when exporting a snapshot for external access.

When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the Amazon ElastiCache User Guide.

Error Messages:

You could receive one of the following error messages.

Erorr Messages

For more information, see Exporting a Snapshot in the Amazon ElastiCache User Guide.

" + "documentation":"

The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access.

When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the Amazon ElastiCache User Guide.

For more information, see Exporting a Snapshot in the Amazon ElastiCache User Guide.

" } }, - "documentation":"

Represents the input of a CopySnapshotMessage action.

" + "documentation":"

Represents the input of a CopySnapshotMessage operation.

" }, "CopySnapshotResult":{ "type":"structure", @@ -1552,55 +1551,55 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The node group identifier. This parameter is stored as a lowercase string.

Constraints:

" + "documentation":"

The node group (shard) identifier. This parameter is stored as a lowercase string.

Constraints:

" }, "ReplicationGroupId":{ "shape":"String", - "documentation":"

The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

This parameter is only valid if the Engine parameter is redis.

" + "documentation":"

Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.

The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster is added to the specified replication group as a read replica; otherwise, the cache cluster is a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the Availability Zone is not specified, the cache cluster is created in Availability Zones that provide the best spread of read replicas across Availability Zones.

This parameter is only valid if the Engine parameter is redis.

" }, "AZMode":{ "shape":"AZMode", - "documentation":"

Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

" + "documentation":"

Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

" }, "PreferredAvailabilityZone":{ "shape":"String", - "documentation":"

The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

" + "documentation":"

The EC2 Availability Zone in which the cache cluster is created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

" }, "PreferredAvailabilityZones":{ "shape":"PreferredAvailabilityZoneList", - "documentation":"

A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached.

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes.

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-west-2a&amp;PreferredAvailabilityZones.member.2=us-west-2b&amp;PreferredAvailabilityZones.member.3=us-west-2c

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&amp;PreferredAvailabilityZones.member.2=us-west-2a&amp;PreferredAvailabilityZones.member.3=us-west-2a

" + "documentation":"

A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important.

This option is only supported on Memcached.

If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes.

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

" }, "NumCacheNodes":{ "shape":"IntegerOptional", - "documentation":"

The initial number of cache nodes that the cache cluster will have.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

" + "documentation":"

The initial number of cache nodes that the cache cluster has.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "Engine":{ "shape":"String", - "documentation":"

The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

" + "documentation":"

The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are: memcached | redis

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cache cluster or replication group and create it anew with the earlier engine version.

" + "documentation":"

The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cache cluster or replication group and create it anew with the earlier engine version.

" }, "CacheParameterGroupName":{ "shape":"String", - "documentation":"

The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.

" + "documentation":"

The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used. You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.

" }, "CacheSubnetGroupName":{ "shape":"String", - "documentation":"

The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

" + "documentation":"

The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (Amazon VPC).

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.

" }, "CacheSecurityGroupNames":{ "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

" + "documentation":"

A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).

" }, "SecurityGroupIds":{ "shape":"SecurityGroupIdsList", - "documentation":"

One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

" + "documentation":"

One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (Amazon VPC).

" }, "Tags":{ "shape":"TagList", @@ -1608,23 +1607,23 @@ }, "SnapshotArns":{ "shape":"SnapshotArnsList", - "documentation":"

A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" + "documentation":"

A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas.

This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" }, "SnapshotName":{ "shape":"String", - "documentation":"

The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

This parameter is only valid if the Engine parameter is redis.

" + "documentation":"

The name of a Redis snapshot from which to restore data into the new node group (shard). The snapshot status changes to restoring while the new node group (shard) is being created.

This parameter is only valid if the Engine parameter is redis.

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Example: sun:05:00-sun:09:00

" + "documentation":"

Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

Example: sun:23:00-mon:01:30

" }, "Port":{ "shape":"IntegerOptional", - "documentation":"

The port number on which each of the cache nodes will accept connections.

" + "documentation":"

The port number on which each of the cache nodes accepts connections.

" }, "NotificationTopicArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications will be sent.

The Amazon SNS topic owner must be the same as the cache cluster owner.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

The Amazon SNS topic owner must be the same as the cache cluster owner.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -1632,14 +1631,14 @@ }, "SnapshotRetentionLimit":{ "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

" + "documentation":"

The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot taken today is retained for 5 days before being deleted.

This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

" }, "SnapshotWindow":{ "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your node group.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

" + "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

" } }, - "documentation":"

Represents the input of a CreateCacheCluster action.

" + "documentation":"

Represents the input of a CreateCacheCluster operation.

" }, "CreateCacheClusterResult":{ "type":"structure", @@ -1661,14 +1660,14 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family the cache parameter group can be used with.

Valid values are: memcached1.4 | redis2.6 | redis2.8

" + "documentation":"

The name of the cache parameter group family that the cache parameter group can be used with.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" }, "Description":{ "shape":"String", "documentation":"

A user-specified description for the cache parameter group.

" } }, - "documentation":"

Represents the input of a CreateCacheParameterGroup action.

" + "documentation":"

Represents the input of a CreateCacheParameterGroup operation.

" }, "CreateCacheParameterGroupResult":{ "type":"structure", @@ -1692,7 +1691,7 @@ "documentation":"

A description for the cache security group.

" } }, - "documentation":"

Represents the input of a CreateCacheSecurityGroup action.

" + "documentation":"

Represents the input of a CreateCacheSecurityGroup operation.

" }, "CreateCacheSecurityGroupResult":{ "type":"structure", @@ -1721,7 +1720,7 @@ "documentation":"

A list of VPC subnet IDs for the cache subnet group.

" } }, - "documentation":"

Represents the input of a CreateCacheSubnetGroup action.

" + "documentation":"

Represents the input of a CreateCacheSubnetGroup operation.

" }, "CreateCacheSubnetGroupResult":{ "type":"structure", @@ -1746,39 +1745,51 @@ }, "PrimaryClusterId":{ "shape":"String", - "documentation":"

The identifier of the cache cluster that will serve as the primary for this replication group. This cache cluster must already exist and have a status of available.

This parameter is not required if NumCacheClusters is specified.

" + "documentation":"

The identifier of the cache cluster that serves as the primary for this replication group. This cache cluster must already exist and have a status of available.

This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup is specified.

" }, "AutomaticFailoverEnabled":{ "shape":"BooleanOptional", - "documentation":"

Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.

If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group.

Default: false

ElastiCache Multi-AZ replication groups is not supported on:

" + "documentation":"

Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group.

AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups.

Default: false

ElastiCache Multi-AZ replication groups is not supported on:

" }, "NumCacheClusters":{ "shape":"IntegerOptional", - "documentation":"

The number of cache clusters this replication group will initially have.

If Multi-AZ is enabled, the value of this parameter must be at least 2.

The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas). If you need to exceed this limit, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request.

" + "documentation":"

The number of clusters this replication group initially has.

This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead.

If Multi-AZ is enabled, the value of this parameter must be at least 2.

The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas). If you need to exceed this limit, fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

" }, "PreferredCacheClusterAZs":{ "shape":"AvailabilityZonesList", - "documentation":"

A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important.

If you are creating your replication group in an Amazon VPC (recommended), you can only locate cache clusters in availability zones associated with the subnets in the selected subnet group.

The number of availability zones listed must equal the value of NumCacheClusters.

Default: system chosen availability zones.

Example: One Redis cache cluster in each of three availability zones.

PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c PreferredAvailabilityZones.member.3=us-west-2c

" + "documentation":"

A list of EC2 Availability Zones in which the replication group's cache clusters are created. The order of the Availability Zones in the list is the order in which clusters are allocated. The primary cluster is created in the first AZ in the list.

This parameter is not used if there is more than one node group (shard). You should use NodeGroupConfiguration instead.

If you are creating your replication group in an Amazon VPC (recommended), you can only locate cache clusters in Availability Zones associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheClusters.

Default: system chosen Availability Zones.

" + }, + "NumNodeGroups":{ + "shape":"IntegerOptional", + "documentation":"

An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group. For Redis (cluster mode disabled) either omit this parameter or set it to 1.

Default: 1

" + }, + "ReplicasPerNodeGroup":{ + "shape":"IntegerOptional", + "documentation":"

An optional parameter that specifies the number of replica nodes in each node group (shard). Valid values are 0 to 5.

" + }, + "NodeGroupConfiguration":{ + "shape":"NodeGroupConfigurationList", + "documentation":"

A list of node group (shard) configuration options. Each node group (shard) configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.

If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group, you can use this parameter to configure one node group (shard) or you can omit this parameter.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "Engine":{ "shape":"String", - "documentation":"

The name of the cache engine to be used for the cache clusters in this replication group.

Default: redis

" + "documentation":"

The name of the cache engine to be used for the cache clusters in this replication group.

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the cache engine to be used for the cache clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions action.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cache cluster or replication group and create it anew with the earlier engine version.

" + "documentation":"

The version number of the cache engine to be used for the cache clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cache cluster or replication group and create it anew with the earlier engine version.

" }, "CacheParameterGroupName":{ "shape":"String", - "documentation":"

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

" + "documentation":"

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.

" }, "CacheSubnetGroupName":{ "shape":"String", - "documentation":"

The name of the cache subnet group to be used for the replication group.

" + "documentation":"

The name of the cache subnet group to be used for the replication group.

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.

" }, "CacheSecurityGroupNames":{ "shape":"CacheSecurityGroupNameList", @@ -1786,7 +1797,7 @@ }, "SecurityGroupIds":{ "shape":"SecurityGroupIdsList", - "documentation":"

One or more Amazon VPC security groups associated with this replication group.

Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (VPC).

" + "documentation":"

One or more Amazon VPC security groups associated with this replication group.

Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (Amazon VPC).

" }, "Tags":{ "shape":"TagList", @@ -1794,23 +1805,23 @@ }, "SnapshotArns":{ "shape":"SnapshotArnsList", - "documentation":"

A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" + "documentation":"

A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the replication group. The Amazon S3 object name in the ARN cannot contain any commas. The list must match the number of node groups (shards) in the replication group, which means you cannot repartition.

This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" }, "SnapshotName":{ "shape":"String", - "documentation":"

The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

This parameter is only valid if the Engine parameter is redis.

" + "documentation":"

The name of a snapshot from which to restore data into the new replication group. The snapshot status changes to restoring while the new replication group is being created.

This parameter is only valid if the Engine parameter is redis.

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Example: sun:05:00-sun:09:00

" + "documentation":"

Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

Example: sun:23:00-mon:01:30

" }, "Port":{ "shape":"IntegerOptional", - "documentation":"

The port number on which each member of the replication group will accept connections.

" + "documentation":"

The port number on which each member of the replication group accepts connections.

" }, "NotificationTopicArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications will be sent.

The Amazon SNS topic owner must be the same as the cache cluster owner.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

The Amazon SNS topic owner must be the same as the cache cluster owner.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -1818,14 +1829,14 @@ }, "SnapshotRetentionLimit":{ "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

" + "documentation":"

The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

" }, "SnapshotWindow":{ "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your node group.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

This parameter is only valid if the Engine parameter is redis.

" + "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

This parameter is only valid if the Engine parameter is redis.

" } }, - "documentation":"

Represents the input of a CreateReplicationGroup action.

" + "documentation":"

Represents the input of a CreateReplicationGroup operation.

" }, "CreateReplicationGroupResult":{ "type":"structure", @@ -1835,21 +1846,22 @@ }, "CreateSnapshotMessage":{ "type":"structure", - "required":[ - "CacheClusterId", - "SnapshotName" - ], + "required":["SnapshotName"], "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The identifier of an existing replication group. The snapshot is created from this replication group.

" + }, "CacheClusterId":{ "shape":"String", - "documentation":"

The identifier of an existing cache cluster. The snapshot will be created from this cache cluster.

" + "documentation":"

The identifier of an existing cache cluster. The snapshot is created from this cache cluster.

" }, "SnapshotName":{ "shape":"String", "documentation":"

A name for the snapshot being created.

" } }, - "documentation":"

Represents the input of a CreateSnapshot action.

" + "documentation":"

Represents the input of a CreateSnapshot operation.

" }, "CreateSnapshotResult":{ "type":"structure", @@ -1870,7 +1882,7 @@ "documentation":"

The user-supplied name of a final cache cluster snapshot. This is the unique name that identifies the snapshot. ElastiCache creates the snapshot, and then deletes the cache cluster immediately afterward.

" } }, - "documentation":"

Represents the input of a DeleteCacheCluster action.

" + "documentation":"

Represents the input of a DeleteCacheCluster operation.

" }, "DeleteCacheClusterResult":{ "type":"structure", @@ -1887,7 +1899,7 @@ "documentation":"

The name of the cache parameter group to delete.

The specified cache security group must not be associated with any cache clusters.

" } }, - "documentation":"

Represents the input of a DeleteCacheParameterGroup action.

" + "documentation":"

Represents the input of a DeleteCacheParameterGroup operation.

" }, "DeleteCacheSecurityGroupMessage":{ "type":"structure", @@ -1898,7 +1910,7 @@ "documentation":"

The name of the cache security group to delete.

You cannot delete the default security group.

" } }, - "documentation":"

Represents the input of a DeleteCacheSecurityGroup action.

" + "documentation":"

Represents the input of a DeleteCacheSecurityGroup operation.

" }, "DeleteCacheSubnetGroupMessage":{ "type":"structure", @@ -1909,7 +1921,7 @@ "documentation":"

The name of the cache subnet group to delete.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens.

" } }, - "documentation":"

Represents the input of a DeleteCacheSubnetGroup action.

" + "documentation":"

Represents the input of a DeleteCacheSubnetGroup operation.

" }, "DeleteReplicationGroupMessage":{ "type":"structure", @@ -1921,14 +1933,14 @@ }, "RetainPrimaryCluster":{ "shape":"BooleanOptional", - "documentation":"

If set to true, all of the read replicas will be deleted, but the primary node will be retained.

" + "documentation":"

If set to true, all of the read replicas are deleted, but the primary node is retained.

" }, "FinalSnapshotIdentifier":{ "shape":"String", - "documentation":"

The name of a final node group snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data. After the final snapshot is taken, the cluster is immediately deleted.

" + "documentation":"

The name of a final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data. After the final snapshot is taken, the replication group is immediately deleted.

" } }, - "documentation":"

Represents the input of a DeleteReplicationGroup action.

" + "documentation":"

Represents the input of a DeleteReplicationGroup operation.

" }, "DeleteReplicationGroupResult":{ "type":"structure", @@ -1945,7 +1957,7 @@ "documentation":"

The name of the snapshot to be deleted.

" } }, - "documentation":"

Represents the input of a DeleteSnapshot action.

" + "documentation":"

Represents the input of a DeleteSnapshot operation.

" }, "DeleteSnapshotResult":{ "type":"structure", @@ -1966,14 +1978,14 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "ShowCacheNodeInfo":{ "shape":"BooleanOptional", "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to retrieve information about the individual cache nodes.

" } }, - "documentation":"

Represents the input of a DescribeCacheClusters action.

" + "documentation":"

Represents the input of a DescribeCacheClusters operation.

" }, "DescribeCacheEngineVersionsMessage":{ "type":"structure", @@ -1988,7 +2000,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of a specific cache parameter group family to return details for.

Constraints:

" + "documentation":"

The name of a specific cache parameter group family to return details for.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

Constraints:

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -1996,14 +2008,14 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "DefaultOnly":{ "shape":"Boolean", - "documentation":"

If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned.

" + "documentation":"

If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned.

" } }, - "documentation":"

Represents the input of a DescribeCacheEngineVersions action.

" + "documentation":"

Represents the input of a DescribeCacheEngineVersions operation.

" }, "DescribeCacheParameterGroupsMessage":{ "type":"structure", @@ -2018,10 +2030,10 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeCacheParameterGroups action.

" + "documentation":"

Represents the input of a DescribeCacheParameterGroups operation.

" }, "DescribeCacheParametersMessage":{ "type":"structure", @@ -2037,14 +2049,14 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of brecords to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeCacheParameters action.

" + "documentation":"

Represents the input of a DescribeCacheParameters operation.

" }, "DescribeCacheSecurityGroupsMessage":{ "type":"structure", @@ -2059,10 +2071,10 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeCacheSecurityGroups action.

" + "documentation":"

Represents the input of a DescribeCacheSecurityGroups operation.

" }, "DescribeCacheSubnetGroupsMessage":{ "type":"structure", @@ -2077,10 +2089,10 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeCacheSubnetGroups action.

" + "documentation":"

Represents the input of a DescribeCacheSubnetGroups operation.

" }, "DescribeEngineDefaultParametersMessage":{ "type":"structure", @@ -2088,7 +2100,7 @@ "members":{ "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family. Valid values are: memcached1.4 | redis2.6 | redis2.8

" + "documentation":"

The name of the cache parameter group family.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -2096,10 +2108,10 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeEngineDefaultParameters action.

" + "documentation":"

Represents the input of a DescribeEngineDefaultParameters operation.

" }, "DescribeEngineDefaultParametersResult":{ "type":"structure", @@ -2112,11 +2124,11 @@ "members":{ "SourceIdentifier":{ "shape":"String", - "documentation":"

The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response.

" + "documentation":"

The identifier of the event source for which events are returned. If not specified, all sources are included in the response.

" }, "SourceType":{ "shape":"SourceType", - "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

Valid values are: cache-cluster | cache-parameter-group | cache-security-group | cache-subnet-group

" + "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" }, "StartTime":{ "shape":"TStamp", @@ -2136,10 +2148,10 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeEvents action.

" + "documentation":"

Represents the input of a DescribeEvents operation.

" }, "DescribeReplicationGroupsMessage":{ "type":"structure", @@ -2154,10 +2166,10 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeReplicationGroups action.

" + "documentation":"

Represents the input of a DescribeReplicationGroups operation.

" }, "DescribeReservedCacheNodesMessage":{ "type":"structure", @@ -2172,7 +2184,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "Duration":{ "shape":"String", @@ -2192,10 +2204,10 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeReservedCacheNodes action.

" + "documentation":"

Represents the input of a DescribeReservedCacheNodes operation.

" }, "DescribeReservedCacheNodesOfferingsMessage":{ "type":"structure", @@ -2206,7 +2218,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "Duration":{ "shape":"String", @@ -2226,35 +2238,39 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Represents the input of a DescribeReservedCacheNodesOfferings action.

" + "documentation":"

Represents the input of a DescribeReservedCacheNodesOfferings operation.

" }, "DescribeSnapshotsListMessage":{ "type":"structure", "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "Snapshots":{ "shape":"SnapshotList", "documentation":"

A list of snapshots. Each item in the list contains detailed information about one snapshot.

" } }, - "documentation":"

Represents the output of a DescribeSnapshots action.

" + "documentation":"

Represents the output of a DescribeSnapshots operation.

" }, "DescribeSnapshotsMessage":{ "type":"structure", "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

A user-supplied replication group identifier. If this parameter is specified, only snapshots associated with that specific replication group are described.

" + }, "CacheClusterId":{ "shape":"String", - "documentation":"

A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cache cluster will be described.

" + "documentation":"

A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cache cluster are described.

" }, "SnapshotName":{ "shape":"String", - "documentation":"

A user-supplied name of the snapshot. If this parameter is specified, only this snapshot will be described.

" + "documentation":"

A user-supplied name of the snapshot. If this parameter is specified, only this snapshot are described.

" }, "SnapshotSource":{ "shape":"String", @@ -2262,14 +2278,18 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this action. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "MaxRecords":{ "shape":"IntegerOptional", "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 50

Constraints: minimum 20; maximum 50.

" + }, + "ShowNodeGroupConfig":{ + "shape":"BooleanOptional", + "documentation":"

A boolean value which if true, the node group (shard) configuration is included in the snapshot description.

" } }, - "documentation":"

Represents the input of a DescribeSnapshotsMessage action.

" + "documentation":"

Represents the input of a DescribeSnapshotsMessage operation.

" }, "Double":{"type":"double"}, "EC2SecurityGroup":{ @@ -2316,7 +2336,7 @@ "members":{ "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

Specifies the name of the cache parameter group family to which the engine default parameters apply.

" + "documentation":"

Specifies the name of the cache parameter group family to which the engine default parameters apply.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" }, "Marker":{ "shape":"String", @@ -2331,7 +2351,7 @@ "documentation":"

A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.

" } }, - "documentation":"

Represents the output of a DescribeEngineDefaultParameters action.

", + "documentation":"

Represents the output of a DescribeEngineDefaultParameters operation.

", "wrapper":true }, "Event":{ @@ -2375,7 +2395,7 @@ "documentation":"

A list of events. Each element in the list contains detailed information about one event.

" } }, - "documentation":"

Represents the output of a DescribeEvents action.

" + "documentation":"

Represents the output of a DescribeEvents operation.

" }, "InsufficientCacheClusterCapacityFault":{ "type":"structure", @@ -2407,7 +2427,7 @@ "type":"structure", "members":{ }, - "documentation":"

The requested cache cluster is not in the available state.

", + "documentation":"

The requested cache cluster is not in the available state.

", "error":{ "code":"InvalidCacheClusterState", "httpStatusCode":400, @@ -2419,7 +2439,7 @@ "type":"structure", "members":{ }, - "documentation":"

The current state of the cache parameter group does not allow the requested action to occur.

", + "documentation":"

The current state of the cache parameter group does not allow the requested operation to occur.

", "error":{ "code":"InvalidCacheParameterGroupState", "httpStatusCode":400, @@ -2475,7 +2495,7 @@ "type":"structure", "members":{ }, - "documentation":"

The requested replication group is not in the available state.

", + "documentation":"

The requested replication group is not in the available state.

", "error":{ "code":"InvalidReplicationGroupState", "httpStatusCode":400, @@ -2487,7 +2507,7 @@ "type":"structure", "members":{ }, - "documentation":"

The current state of the snapshot does not allow the requested action to occur.

", + "documentation":"

The current state of the snapshot does not allow the requested operation to occur.

", "error":{ "code":"InvalidSnapshotState", "httpStatusCode":400, @@ -2528,14 +2548,14 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The name of the cache cluster you want to scale up to a larger node instanced type. ElastiCache uses the cluster id to identify the current node type of this cluster and from that to to create a list of node types you can scale up to.

You must provide a value for either the CacheClusterId or the ReplicationGroupId.

" + "documentation":"

The name of the cache cluster you want to scale up to a larger node instanced type. ElastiCache uses the cluster id to identify the current node type of this cluster and from that to create a list of node types you can scale up to.

You must provide a value for either the CacheClusterId or the ReplicationGroupId.

" }, "ReplicationGroupId":{ "shape":"String", - "documentation":"

The name of the replication group want to scale up to a larger node type. ElastiCache uses the replication group id to identify the current node type being used by this replication group, and from that to create a list of node types you can scale up to.

You must provide a value for either the CacheClusterId or the ReplicationGroupId.

" + "documentation":"

The name of the replication group want to scale up to a larger node type. ElastiCache uses the replication group id to identify the current node type being used by this replication group, and from that to create a list of node types you can scale up to.

You must provide a value for either the CacheClusterId or the ReplicationGroupId.

" } }, - "documentation":"

The input parameters for the ListAllowedNodeTypeModifications action.

" + "documentation":"

The input parameters for the ListAllowedNodeTypeModifications operation.

" }, "ListTagsForResourceMessage":{ "type":"structure", @@ -2543,10 +2563,10 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want the list of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want the list of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } }, - "documentation":"

The input parameters for the ListTagsForResource action.

" + "documentation":"

The input parameters for the ListTagsForResource operation.

" }, "ModifyCacheClusterMessage":{ "type":"structure", @@ -2558,47 +2578,47 @@ }, "NumCacheNodes":{ "shape":"IntegerOptional", - "documentation":"

The number of cache nodes that the cache cluster should have. If the value for NumCacheNodes is greater than the sum of the number of current cache nodes and the number of cache nodes pending creation (which may be zero), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then any pending add or remove requests are canceled.

If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter to provide the IDs of the specific cache nodes to remove.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.

A pending action to modify the number of cache nodes in a cluster during its maintenance window, whether by adding or removing nodes in accordance with the scale out architecture, is not queued. The customer's latest request to add or remove nodes to the cluster overrides any previous pending actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action to remove 3 nodes and vice versa. As Memcached cache nodes may now be provisioned in different Availability Zones with flexible cache node placement, a request to add nodes does not automatically override a previous pending action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions to modify the number of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes equal to the number of cache nodes currently in the cache cluster.

" + "documentation":"

The number of cache nodes that the cache cluster should have. If the value for NumCacheNodes is greater than the sum of the number of current cache nodes and the number of cache nodes pending creation (which may be zero), more nodes are added. If the value is less than the number of existing cache nodes, nodes are removed. If the value is equal to the number of current cache nodes, any pending add or remove requests are canceled.

If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter to provide the IDs of the specific cache nodes to remove.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

Adding or removing Memcached cache nodes can be applied immediately or as a pending operation (see ApplyImmediately).

A pending operation to modify the number of cache nodes in a cluster during its maintenance window, whether by adding or removing nodes in accordance with the scale out architecture, is not queued. The customer's latest request to add or remove nodes to the cluster overrides any previous pending operations to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending operation to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending operation to remove 3 nodes and vice versa. As Memcached cache nodes may now be provisioned in different Availability Zones with flexible cache node placement, a request to add nodes does not automatically override a previous pending operation to add nodes. The customer can modify the previous pending operation to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending operations to modify the number of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes equal to the number of cache nodes currently in the cache cluster.

" }, "CacheNodeIdsToRemove":{ "shape":"CacheNodeIdsList", - "documentation":"

A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less than the existing number of cache nodes. The number of cache node IDs supplied in this parameter must match the difference between the existing number of cache nodes in the cluster or pending cache nodes, whichever is greater, and the value of NumCacheNodes in the request.

For example: If you have 3 active cache nodes, 7 pending cache nodes, and the number of cache nodes in this ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

" + "documentation":"

A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less than the existing number of cache nodes. The number of cache node IDs supplied in this parameter must match the difference between the existing number of cache nodes in the cluster or pending cache nodes, whichever is greater, and the value of NumCacheNodes in the request.

For example: If you have 3 active cache nodes, 7 pending cache nodes, and the number of cache nodes in this ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

" }, "AZMode":{ "shape":"AZMode", - "documentation":"

Specifies whether the new nodes in this Memcached cache cluster are all created in a single Availability Zone or created across multiple Availability Zones.

Valid values: single-az | cross-az.

This option is only supported for Memcached cache clusters.

You cannot specify single-az if the Memcached cache cluster already has cache nodes in different Availability Zones. If cross-az is specified, existing Memcached nodes remain in their current Availability Zone.

Only newly created nodes will be located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

" + "documentation":"

Specifies whether the new nodes in this Memcached cache cluster are all created in a single Availability Zone or created across multiple Availability Zones.

Valid values: single-az | cross-az.

This option is only supported for Memcached cache clusters.

You cannot specify single-az if the Memcached cache cluster already has cache nodes in different Availability Zones. If cross-az is specified, existing Memcached nodes remain in their current Availability Zone.

Only newly created nodes are located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

" }, "NewAvailabilityZones":{ "shape":"PreferredAvailabilityZoneList", - "documentation":"

The list of Availability Zones where the new Memcached cache nodes will be created.

This parameter is only valid when NumCacheNodes in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero). The number of Availability Zones supplied in this list must match the cache nodes being added in this request.

This option is only supported on Memcached clusters.

Scenarios:

The Availability Zone placement of nodes pending creation cannot be modified. If you wish to cancel any nodes pending creation, add 0 nodes by setting NumCacheNodes to the number of current nodes.

If cross-az is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes can be located in different Availability Zones. For guidance on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

Impact of new add/remove requests upon pending requests

Example:

NewAvailabilityZones.member.1=us-west-2a&amp;NewAvailabilityZones.member.2=us-west-2b&amp;NewAvailabilityZones.member.3=us-west-2c

" + "documentation":"

The list of Availability Zones where the new Memcached cache nodes are created.

This parameter is only valid when NumCacheNodes in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero). The number of Availability Zones supplied in this list must match the cache nodes being added in this request.

This option is only supported on Memcached clusters.

Scenarios:

The Availability Zone placement of nodes pending creation cannot be modified. If you wish to cancel any nodes pending creation, add 0 nodes by setting NumCacheNodes to the number of current nodes.

If cross-az is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes can be located in different Availability Zones. For guidance on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

Impact of new add/remove requests upon pending requests

" }, "CacheSecurityGroupNames":{ "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of cache security group names to authorize on this cache cluster. This change is asynchronously applied as soon as possible.

This parameter can be used only with clusters that are created outside of an Amazon Virtual Private Cloud (VPC).

Constraints: Must contain no more than 255 alphanumeric characters. Must not be \"Default\".

" + "documentation":"

A list of cache security group names to authorize on this cache cluster. This change is asynchronously applied as soon as possible.

You can use this parameter only with clusters that are created outside of an Amazon Virtual Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 alphanumeric characters. Must not be \"Default\".

" }, "SecurityGroupIds":{ "shape":"SecurityGroupIdsList", - "documentation":"

Specifies the VPC Security Groups associated with the cache cluster.

This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (VPC).

" + "documentation":"

Specifies the VPC Security Groups associated with the cache cluster.

This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (Amazon VPC).

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Example: sun:05:00-sun:09:00

" + "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

Example: sun:23:00-mon:01:30

" }, "NotificationTopicArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

The Amazon SNS topic owner must be same as the cache cluster owner.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.

The Amazon SNS topic owner must be same as the cache cluster owner.

" }, "CacheParameterGroupName":{ "shape":"String", - "documentation":"

The name of the cache parameter group to apply to this cache cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

" + "documentation":"

The name of the cache parameter group to apply to this cache cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

" }, "NotificationTopicStatus":{ "shape":"String", - "documentation":"

The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

Valid values: active | inactive

" + "documentation":"

The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

Valid values: active | inactive

" }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.

If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.

Valid values: true | false

Default: false

" + "documentation":"

If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the cache cluster.

If false, changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.

If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.

Valid values: true | false

Default: false

" }, "EngineVersion":{ "shape":"String", @@ -2610,18 +2630,18 @@ }, "SnapshotRetentionLimit":{ "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" + "documentation":"

The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" }, "SnapshotWindow":{ "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.

" + "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cache cluster.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

A valid cache node type that you want to scale this cache cluster to. The value of this parameter must be one of the ScaleUpModifications values returned by the ListAllowedCacheNodeTypeModification action.

" + "documentation":"

A valid cache node type that you want to scale this cache cluster up to.

" } }, - "documentation":"

Represents the input of a ModifyCacheCluster action.

" + "documentation":"

Represents the input of a ModifyCacheCluster operation.

" }, "ModifyCacheClusterResult":{ "type":"structure", @@ -2645,7 +2665,7 @@ "documentation":"

An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be modified per request.

" } }, - "documentation":"

Represents the input of a ModifyCacheParameterGroup action.

" + "documentation":"

Represents the input of a ModifyCacheParameterGroup operation.

" }, "ModifyCacheSubnetGroupMessage":{ "type":"structure", @@ -2657,14 +2677,14 @@ }, "CacheSubnetGroupDescription":{ "shape":"String", - "documentation":"

A description for the cache subnet group.

" + "documentation":"

A description of the cache subnet group.

" }, "SubnetIds":{ "shape":"SubnetIdentifierList", "documentation":"

The EC2 subnet IDs for the cache subnet group.

" } }, - "documentation":"

Represents the input of a ModifyCacheSubnetGroup action.

" + "documentation":"

Represents the input of a ModifyCacheSubnetGroup operation.

" }, "ModifyCacheSubnetGroupResult":{ "type":"structure", @@ -2686,43 +2706,43 @@ }, "PrimaryClusterId":{ "shape":"String", - "documentation":"

If this parameter is specified, ElastiCache will promote the specified cluster in the specified replication group to the primary role. The nodes of all other clusters in the replication group will be read replicas.

" + "documentation":"

For replication groups with a single primary, if this parameter is specified, ElastiCache promotes the specified cluster in the specified replication group to the primary role. The nodes of all other clusters in the replication group are read replicas.

" }, "SnapshottingClusterId":{ "shape":"String", - "documentation":"

The cache cluster ID that will be used as the daily snapshot source for the replication group.

" + "documentation":"

The cache cluster ID that is used as the daily snapshot source for the replication group. This parameter cannot be set for Redis (cluster mode enabled) replication groups.

" }, "AutomaticFailoverEnabled":{ "shape":"BooleanOptional", - "documentation":"

Whether a read replica will be automatically promoted to read/write primary if the existing primary encounters a failure.

Valid values: true | false

ElastiCache Multi-AZ replication groups are not supported on:

" + "documentation":"

Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

Valid values: true | false

ElastiCache Multi-AZ replication groups are not supported on:

" }, "CacheSecurityGroupNames":{ "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible.

This parameter can be used only with replication group containing cache clusters running outside of an Amazon Virtual Private Cloud (VPC).

Constraints: Must contain no more than 255 alphanumeric characters. Must not be \"Default\".

" + "documentation":"

A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible.

This parameter can be used only with replication group containing cache clusters running outside of an Amazon Virtual Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 alphanumeric characters. Must not be Default.

" }, "SecurityGroupIds":{ "shape":"SecurityGroupIdsList", - "documentation":"

Specifies the VPC Security Groups associated with the cache clusters in the replication group.

This parameter can be used only with replication group containing cache clusters running in an Amazon Virtual Private Cloud (VPC).

" + "documentation":"

Specifies the VPC Security Groups associated with the cache clusters in the replication group.

This parameter can be used only with replication group containing cache clusters running in an Amazon Virtual Private Cloud (Amazon VPC).

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Example: sun:05:00-sun:09:00

" + "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

Example: sun:23:00-mon:01:30

" }, "NotificationTopicArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

The Amazon SNS topic owner must be same as the replication group owner.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.

The Amazon SNS topic owner must be same as the replication group owner.

" }, "CacheParameterGroupName":{ "shape":"String", - "documentation":"

The name of the cache parameter group to apply to all of the clusters in this replication group. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

" + "documentation":"

The name of the cache parameter group to apply to all of the clusters in this replication group. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

" }, "NotificationTopicStatus":{ "shape":"String", - "documentation":"

The status of the Amazon SNS notification topic for the replication group. Notifications are sent only if the status is active.

Valid values: active | inactive

" + "documentation":"

The status of the Amazon SNS notification topic for the replication group. Notifications are sent only if the status is active.

Valid values: active | inactive

" }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the replication group.

If false, then changes to the nodes in the replication group are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.

Valid values: true | false

Default: false

" + "documentation":"

If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the replication group.

If false, changes to the nodes in the replication group are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.

Valid values: true | false

Default: false

" }, "EngineVersion":{ "shape":"String", @@ -2734,18 +2754,18 @@ }, "SnapshotRetentionLimit":{ "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic node group snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" + "documentation":"

The number of days for which ElastiCache retains automatic node group (shard) snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" }, "SnapshotWindow":{ "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of the node group specified by SnapshottingClusterId.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

" + "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of the node group (shard) specified by SnapshottingClusterId.

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

A valid cache node type that you want to scale this replication group to. The value of this parameter must be one of the ScaleUpModifications values returned by the ListAllowedCacheNodeTypeModification action.

" + "documentation":"

A valid cache node type that you want to scale this replication group to.

" } }, - "documentation":"

Represents the input of a ModifyReplicationGroups action.

" + "documentation":"

Represents the input of a ModifyReplicationGroups operation.

" }, "ModifyReplicationGroupResult":{ "type":"structure", @@ -2758,19 +2778,55 @@ "members":{ "NodeGroupId":{ "shape":"String", - "documentation":"

The identifier for the node group. A replication group contains only one node group; therefore, the node group ID is 0001.

" + "documentation":"

The identifier for the node group (shard). A Redis (cluster mode disabled) replication group contains only 1 node group; therefore, the node group ID is 0001. A Redis (cluster mode enabled) replication group contains 1 to 15 node groups numbered 0001 to 0015.

" }, "Status":{ "shape":"String", - "documentation":"

The current state of this replication group - creating, available, etc.

" + "documentation":"

The current state of this replication group - creating, available, etc.

" + }, + "PrimaryEndpoint":{ + "shape":"Endpoint", + "documentation":"

The endpoint of the primary node in this node group (shard).

" + }, + "Slots":{ + "shape":"String", + "documentation":"

The keyspace for this node group (shard).

" }, - "PrimaryEndpoint":{"shape":"Endpoint"}, "NodeGroupMembers":{ "shape":"NodeGroupMemberList", - "documentation":"

A list containing information about individual nodes within the node group.

" + "documentation":"

A list containing information about individual nodes within the node group (shard).

" } }, - "documentation":"

Represents a collection of cache nodes in a replication group.

" + "documentation":"

Represents a collection of cache nodes in a replication group. One node in the node group is the read/write Primary node. All the other nodes are read-only Replica nodes.

" + }, + "NodeGroupConfiguration":{ + "type":"structure", + "members":{ + "Slots":{ + "shape":"String", + "documentation":"

A string that specifies the keyspaces as a series of comma separated values. Keyspaces are 0 to 16,383. The string is in the format startkey-endkey.

Example: \"0-3999\"

" + }, + "ReplicaCount":{ + "shape":"IntegerOptional", + "documentation":"

The number of read replica nodes in this node group (shard).

" + }, + "PrimaryAvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone where the primary node of this node group (shard) is launched.

" + }, + "ReplicaAvailabilityZones":{ + "shape":"AvailabilityZonesList", + "documentation":"

A list of Availability Zones to be used for the read replicas. The number of Availability Zones in this list must match the value of ReplicaCount or ReplicasPerNodeGroup if not specified.

" + } + }, + "documentation":"

node group (shard) configuration options. Each node group (shard) configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.

" + }, + "NodeGroupConfigurationList":{ + "type":"list", + "member":{ + "shape":"NodeGroupConfiguration", + "locationName":"NodeGroupConfiguration" + } }, "NodeGroupList":{ "type":"list", @@ -2797,10 +2853,10 @@ }, "CurrentRole":{ "shape":"String", - "documentation":"

The role that is currently assigned to the node - primary or replica.

" + "documentation":"

The role that is currently assigned to the node - primary or replica.

" } }, - "documentation":"

Represents a single node within a node group.

" + "documentation":"

Represents a single node within a node group (shard).

" }, "NodeGroupMemberList":{ "type":"list", @@ -2809,6 +2865,18 @@ "locationName":"NodeGroupMember" } }, + "NodeGroupsPerReplicationGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request cannot be processed because it would exceed the maximum of 15 node groups (shards) in a single replication group.

", + "error":{ + "code":"NodeGroupsPerReplicationGroupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "NodeQuotaForClusterExceededFault":{ "type":"structure", "members":{ @@ -2836,10 +2904,22 @@ "NodeSnapshot":{ "type":"structure", "members":{ + "CacheClusterId":{ + "shape":"String", + "documentation":"

A unique identifier for the source cache cluster.

" + }, + "NodeGroupId":{ + "shape":"String", + "documentation":"

A unique identifier for the source node group (shard).

" + }, "CacheNodeId":{ "shape":"String", "documentation":"

The cache node identifier for the node in the source cache cluster.

" }, + "NodeGroupConfiguration":{ + "shape":"NodeGroupConfiguration", + "documentation":"

The configuration for the source node group (shard).

" + }, "CacheSize":{ "shape":"String", "documentation":"

The size of the cache on the source cache node.

" @@ -2918,7 +2998,7 @@ }, "ChangeType":{ "shape":"ChangeType", - "documentation":"

ChangeType indicates whether a change to the parameter will be applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" + "documentation":"

Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" } }, "documentation":"

Describes an individual setting that controls some aspect of ElastiCache behavior.

" @@ -2971,14 +3051,14 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The new cache engine version that the cache cluster will run.

" + "documentation":"

The new cache engine version that the cache cluster runs.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type that this cache cluster or replication group will be scaled to.

" + "documentation":"

The cache node type that this cache cluster or replication group is scaled to.

" } }, - "documentation":"

A group of settings that will be applied to the cache cluster in the future, or that are currently being applied.

" + "documentation":"

A group of settings that are applied to the cache cluster in the future, or that are currently being applied.

" }, "PreferredAvailabilityZoneList":{ "type":"list", @@ -3004,7 +3084,7 @@ "documentation":"

The number of cache node instances to reserve.

Default: 1

" } }, - "documentation":"

Represents the input of a PurchaseReservedCacheNodesOffering action.

" + "documentation":"

Represents the input of a PurchaseReservedCacheNodesOffering operation.

" }, "PurchaseReservedCacheNodesOfferingResult":{ "type":"structure", @@ -3028,7 +3108,7 @@ "documentation":"

A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 0002, etc.). To reboot an entire cache cluster, specify all of the cache node IDs.

" } }, - "documentation":"

Represents the input of a RebootCacheCluster action.

" + "documentation":"

Represents the input of a RebootCacheCluster operation.

" }, "RebootCacheClusterResult":{ "type":"structure", @@ -3067,14 +3147,14 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource from which you want the tags removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource from which you want the tags removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "TagKeys":{ "shape":"KeyList", - "documentation":"

A list of TagKeys identifying the tags you want removed from the named resource. For example, TagKeys.member.1=Region removes the cost allocation tag with the key name Region from the resource named by the ResourceName parameter.

" + "documentation":"

A list of TagKeys identifying the tags you want removed from the named resource.

" } }, - "documentation":"

Represents the input of a RemoveTagsFromResource action.

" + "documentation":"

Represents the input of a RemoveTagsFromResource operation.

" }, "ReplicationGroup":{ "type":"structure", @@ -3089,7 +3169,7 @@ }, "Status":{ "shape":"String", - "documentation":"

The current state of this replication group - creating, available, etc.

" + "documentation":"

The current state of this replication group - creating, available, etc.

" }, "PendingModifiedValues":{ "shape":"ReplicationGroupPendingModifiedValues", @@ -3109,10 +3189,22 @@ }, "AutomaticFailover":{ "shape":"AutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ for this replication group.

ElastiCache Multi-AZ replication groups are not supported on:

" + "documentation":"

Indicates the status of Multi-AZ for this replication group.

ElastiCache Multi-AZ replication groups are not supported on:

" + }, + "ConfigurationEndpoint":{ + "shape":"Endpoint", + "documentation":"

The configuration endpoint for this replicaiton group. Use the configuration endpoint to connect to this replication group.

" + }, + "SnapshotRetentionLimit":{ + "shape":"IntegerOptional", + "documentation":"

The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" + }, + "SnapshotWindow":{ + "shape":"String", + "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

" } }, - "documentation":"

Contains all of the attributes of a specific replication group.

", + "documentation":"

Contains all of the attributes of a specific Redis replication group.

", "wrapper":true }, "ReplicationGroupAlreadyExistsFault":{ @@ -3146,7 +3238,7 @@ "documentation":"

A list of replication groups. Each item in the list contains detailed information about one replication group.

" } }, - "documentation":"

Represents the output of a DescribeReplicationGroups action.

" + "documentation":"

Represents the output of a DescribeReplicationGroups operation.

" }, "ReplicationGroupNotFoundFault":{ "type":"structure", @@ -3165,14 +3257,14 @@ "members":{ "PrimaryClusterId":{ "shape":"String", - "documentation":"

The primary cluster ID which will be applied immediately (if --apply-immediately was specified), or during the next maintenance window.

" + "documentation":"

The primary cluster ID that is applied immediately (if --apply-immediately was specified), or during the next maintenance window.

" }, "AutomaticFailoverStatus":{ "shape":"PendingAutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ for this replication group.

ElastiCache Multi-AZ replication groups are not supported on:

" + "documentation":"

Indicates the status of Multi-AZ for this Redis replication group.

ElastiCache Multi-AZ replication groups are not supported on:

" } }, - "documentation":"

The settings to be applied to the replication group, either immediately or during the next maintenance window.

" + "documentation":"

The settings to be applied to the Redis replication group, either immediately or during the next maintenance window.

" }, "ReservedCacheNode":{ "type":"structure", @@ -3187,7 +3279,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type for the reserved cache nodes.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

The cache node type for the reserved cache nodes.

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "StartTime":{ "shape":"TStamp", @@ -3226,7 +3318,7 @@ "documentation":"

The recurring price charged to run this reserved cache node.

" } }, - "documentation":"

Represents the output of a PurchaseReservedCacheNodesOffering action.

", + "documentation":"

Represents the output of a PurchaseReservedCacheNodesOffering operation.

", "wrapper":true }, "ReservedCacheNodeAlreadyExistsFault":{ @@ -3260,7 +3352,7 @@ "documentation":"

A list of reserved cache nodes. Each element in the list contains detailed information about one node.

" } }, - "documentation":"

Represents the output of a DescribeReservedCacheNodes action.

" + "documentation":"

Represents the output of a DescribeReservedCacheNodes operation.

" }, "ReservedCacheNodeNotFoundFault":{ "type":"structure", @@ -3295,7 +3387,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type for the reserved cache node.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

The cache node type for the reserved cache node.

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "Duration":{ "shape":"Integer", @@ -3344,7 +3436,7 @@ "documentation":"

A list of reserved cache node offerings. Each element in the list contains detailed information about one offering.

" } }, - "documentation":"

Represents the output of a DescribeReservedCacheNodesOfferings action.

" + "documentation":"

Represents the output of a DescribeReservedCacheNodesOfferings operation.

" }, "ReservedCacheNodesOfferingNotFoundFault":{ "type":"structure", @@ -3368,14 +3460,14 @@ }, "ResetAllParameters":{ "shape":"Boolean", - "documentation":"

If true, all parameters in the cache parameter group will be reset to their default values. If false, only the parameters listed by ParameterNameValues are reset to their default values.

Valid values: true | false

" + "documentation":"

If true, all parameters in the cache parameter group are reset to their default values. If false, only the parameters listed by ParameterNameValues are reset to their default values.

Valid values: true | false

" }, "ParameterNameValues":{ "shape":"ParameterNameValueList", - "documentation":"

An array of parameter names to reset to their default values. If ResetAllParameters is false, you must specify the name of at least one parameter to reset.

" + "documentation":"

An array of parameter names to reset to their default values. If ResetAllParameters is true, do not use ParameterNameValues. If ResetAllParameters is false, you must specify the name of at least one parameter to reset.

" } }, - "documentation":"

Represents the input of a ResetCacheParameterGroup action.

" + "documentation":"

Represents the input of a ResetCacheParameterGroup operation.

" }, "RevokeCacheSecurityGroupIngressMessage":{ "type":"structure", @@ -3398,7 +3490,7 @@ "documentation":"

The AWS account number of the Amazon EC2 security group owner. Note that this is not the same thing as an AWS access key ID - you must provide a valid AWS account number for this parameter.

" } }, - "documentation":"

Represents the input of a RevokeCacheSecurityGroupIngress action.

" + "documentation":"

Represents the input of a RevokeCacheSecurityGroupIngress operation.

" }, "RevokeCacheSecurityGroupIngressResult":{ "type":"structure", @@ -3436,7 +3528,15 @@ "members":{ "SnapshotName":{ "shape":"String", - "documentation":"

The name of a snapshot. For an automatic snapshot, the name is system-generated; for a manual snapshot, this is the user-provided name.

" + "documentation":"

The name of a snapshot. For an automatic snapshot, the name is system-generated. For a manual snapshot, this is the user-provided name.

" + }, + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The unique identifier of the source replication group.

" + }, + "ReplicationGroupDescription":{ + "shape":"String", + "documentation":"

A description of the source replication group.

" }, "CacheClusterId":{ "shape":"String", @@ -3452,11 +3552,11 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the source cache cluster.

Valid node types are as follows:

Notes:

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" + "documentation":"

The name of the compute and memory capacity node type for the source cache cluster.

Valid node types are as follows:

Notes:

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" }, "Engine":{ "shape":"String", - "documentation":"

The name of the cache engine (memcached or redis) used by the source cache cluster.

" + "documentation":"

The name of the cache engine (memcached or redis) used by the source cache cluster.

" }, "EngineVersion":{ "shape":"String", @@ -3476,7 +3576,7 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cache cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Example: sun:05:00-sun:09:00

" + "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

Example: sun:23:00-mon:01:30

" }, "TopicArn":{ "shape":"String", @@ -3504,18 +3604,26 @@ }, "SnapshotRetentionLimit":{ "shape":"IntegerOptional", - "documentation":"

For an automatic snapshot, the number of days for which ElastiCache will retain the snapshot before deleting it.

For manual snapshots, this field reflects the SnapshotRetentionLimit for the source cache cluster when the snapshot was created. This field is otherwise ignored: Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot action.

Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" + "documentation":"

For an automatic snapshot, the number of days for which ElastiCache retains the snapshot before deleting it.

For manual snapshots, this field reflects the SnapshotRetentionLimit for the source cache cluster when the snapshot was created. This field is otherwise ignored: Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot operation.

Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" }, "SnapshotWindow":{ "shape":"String", "documentation":"

The daily time range during which ElastiCache takes daily snapshots of the source cache cluster.

" }, + "NumNodeGroups":{ + "shape":"IntegerOptional", + "documentation":"

The number of node groups (shards) in this snapshot. When restoring from a snapshot, the number of node groups (shards) in the snapshot and in the restored replication group must be the same.

" + }, + "AutomaticFailover":{ + "shape":"AutomaticFailoverStatus", + "documentation":"

Indicates the status of Multi-AZ for the source replication group.

ElastiCache Multi-AZ replication groups are not supported on:

" + }, "NodeSnapshots":{ "shape":"NodeSnapshotList", "documentation":"

A list of the cache nodes in the source cache cluster.

" } }, - "documentation":"

Represents a copy of an entire cache cluster as of the time when the snapshot was taken.

", + "documentation":"

Represents a copy of an entire Redis cache cluster as of the time when the snapshot was taken.

", "wrapper":true }, "SnapshotAlreadyExistsFault":{ @@ -3541,7 +3649,7 @@ "type":"structure", "members":{ }, - "documentation":"

You attempted one of the following actions:

Neither of these are supported by ElastiCache.

", + "documentation":"

You attempted one of the following operations:

Neither of these are supported by ElastiCache.

", "error":{ "code":"SnapshotFeatureNotSupportedFault", "httpStatusCode":400, @@ -3586,7 +3694,8 @@ "cache-cluster", "cache-parameter-group", "cache-security-group", - "cache-subnet-group" + "cache-subnet-group", + "replication-group" ] }, "String":{"type":"string"}, @@ -3660,7 +3769,7 @@ "documentation":"

A list of cost allocation tags as key-value pairs.

" } }, - "documentation":"

Represents the output from the AddTagsToResource, ListTagsOnResource, and RemoveTagsFromResource actions.

" + "documentation":"

Represents the output from the AddTagsToResource, ListTagsOnResource, and RemoveTagsFromResource operations.

" }, "TagNotFoundFault":{ "type":"structure", @@ -3687,5 +3796,5 @@ "exception":true } }, - "documentation":"Amazon ElastiCache

Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud.

With ElastiCache, customers gain all of the benefits of a high-performance, in-memory cache with far less of the administrative burden of launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment.

In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot.

" + "documentation":"Amazon ElastiCache

Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud.

With ElastiCache, customers get all of the benefits of a high-performance, in-memory cache with less of the administrative burden involved in launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment.

In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot.

" } diff --git a/botocore/data/elasticbeanstalk/2010-12-01/service-2.json b/botocore/data/elasticbeanstalk/2010-12-01/service-2.json index a41c2e32..3fd00c88 100644 --- a/botocore/data/elasticbeanstalk/2010-12-01/service-2.json +++ b/botocore/data/elasticbeanstalk/2010-12-01/service-2.json @@ -50,7 +50,7 @@ "shape":"CheckDNSAvailabilityResultMessage", "resultWrapper":"CheckDNSAvailabilityResult" }, - "documentation":"

Checks if the specified CNAME is available.

" + "documentation":"

Checks if the specified CNAME is available.

" }, "ComposeEnvironments":{ "name":"ComposeEnvironments", @@ -102,7 +102,7 @@ {"shape":"InsufficientPrivilegesException"}, {"shape":"S3LocationNotInServiceRegionException"} ], - "documentation":"

Creates an application version for the specified application.

Once you create an application version with a specified Amazon S3 bucket and key location, you cannot change that Amazon S3 location. If you change the Amazon S3 location, you receive an exception when you attempt to launch an environment from the application version. " + "documentation":"

Creates an application version for the specified application.

Once you create an application version with a specified Amazon S3 bucket and key location, you cannot change that Amazon S3 location. If you change the Amazon S3 location, you receive an exception when you attempt to launch an environment from the application version.

" }, "CreateConfigurationTemplate":{ "name":"CreateConfigurationTemplate", @@ -120,7 +120,7 @@ {"shape":"TooManyBucketsException"}, {"shape":"TooManyConfigurationTemplatesException"} ], - "documentation":"

Creates a configuration template. Templates are associated with a specific application and are used to deploy different versions of the application with the same configuration settings.

Related Topics

" + "documentation":"

Creates a configuration template. Templates are associated with a specific application and are used to deploy different versions of the application with the same configuration settings.

Related Topics

" }, "CreateEnvironment":{ "name":"CreateEnvironment", @@ -154,7 +154,7 @@ {"shape":"S3SubscriptionRequiredException"}, {"shape":"InsufficientPrivilegesException"} ], - "documentation":"

Creates the Amazon S3 storage location for the account.

This location is used to store user log files.

" + "documentation":"

Creates the Amazon S3 storage location for the account.

This location is used to store user log files.

" }, "DeleteApplication":{ "name":"DeleteApplication", @@ -166,7 +166,7 @@ "errors":[ {"shape":"OperationInProgressException"} ], - "documentation":"

Deletes the specified application along with all associated versions and configurations. The application versions will not be deleted from your Amazon S3 bucket.

You cannot delete an application that has a running environment. " + "documentation":"

Deletes the specified application along with all associated versions and configurations. The application versions will not be deleted from your Amazon S3 bucket.

You cannot delete an application that has a running environment.

" }, "DeleteApplicationVersion":{ "name":"DeleteApplicationVersion", @@ -181,7 +181,7 @@ {"shape":"OperationInProgressException"}, {"shape":"S3LocationNotInServiceRegionException"} ], - "documentation":"

Deletes the specified version from the specified application.

You cannot delete an application version that is associated with a running environment." + "documentation":"

Deletes the specified version from the specified application.

You cannot delete an application version that is associated with a running environment.

" }, "DeleteConfigurationTemplate":{ "name":"DeleteConfigurationTemplate", @@ -193,7 +193,7 @@ "errors":[ {"shape":"OperationInProgressException"} ], - "documentation":"

Deletes the specified configuration template.

When you launch an environment using a configuration template, the environment gets a copy of the template. You can delete or modify the environment's copy of the template without affecting the running environment." + "documentation":"

Deletes the specified configuration template.

When you launch an environment using a configuration template, the environment gets a copy of the template. You can delete or modify the environment's copy of the template without affecting the running environment.

" }, "DeleteEnvironmentConfiguration":{ "name":"DeleteEnvironmentConfiguration", @@ -244,7 +244,7 @@ "errors":[ {"shape":"TooManyBucketsException"} ], - "documentation":"

Describes the configuration options that are used in a particular configuration template or environment, or that a specified solution stack defines. The description includes the values the options, their default values, and an indication of the required action on a running environment if an option value is changed.

" + "documentation":"

Describes the configuration options that are used in a particular configuration template or environment, or that a specified solution stack defines. The description includes the values the options, their default values, and an indication of the required action on a running environment if an option value is changed.

" }, "DescribeConfigurationSettings":{ "name":"DescribeConfigurationSettings", @@ -260,7 +260,7 @@ "errors":[ {"shape":"TooManyBucketsException"} ], - "documentation":"

Returns a description of the settings for the specified configuration set, that is, either a configuration template or the configuration set associated with a running environment.

When describing the settings for the configuration set associated with a running environment, it is possible to receive two sets of setting descriptions. One is the deployed configuration set, and the other is a draft configuration of an environment that is either in the process of deployment or that failed to deploy.

Related Topics

" + "documentation":"

Returns a description of the settings for the specified configuration set, that is, either a configuration template or the configuration set associated with a running environment.

When describing the settings for the configuration set associated with a running environment, it is possible to receive two sets of setting descriptions. One is the deployed configuration set, and the other is a draft configuration of an environment that is either in the process of deployment or that failed to deploy.

Related Topics

" }, "DescribeEnvironmentHealth":{ "name":"DescribeEnvironmentHealth", @@ -351,7 +351,7 @@ "shape":"EventDescriptionsMessage", "resultWrapper":"DescribeEventsResult" }, - "documentation":"

Returns list of event descriptions matching criteria up to the last 6 weeks.

This action returns the most recent 1,000 events from the specified NextToken." + "documentation":"

Returns list of event descriptions matching criteria up to the last 6 weeks.

This action returns the most recent 1,000 events from the specified NextToken.

" }, "DescribeInstancesHealth":{ "name":"DescribeInstancesHealth", @@ -380,7 +380,7 @@ "shape":"ListAvailableSolutionStacksResultMessage", "resultWrapper":"ListAvailableSolutionStacksResult" }, - "documentation":"

Returns a list of the available solution stack names.

" + "documentation":"

Returns a list of the available solution stack names.

" }, "RebuildEnvironment":{ "name":"RebuildEnvironment", @@ -392,7 +392,7 @@ "errors":[ {"shape":"InsufficientPrivilegesException"} ], - "documentation":"

Deletes and recreates all of the AWS resources (for example: the Auto Scaling group, load balancer, etc.) for a specified environment and forces a restart.

" + "documentation":"

Deletes and recreates all of the AWS resources (for example: the Auto Scaling group, load balancer, etc.) for a specified environment and forces a restart.

" }, "RequestEnvironmentInfo":{ "name":"RequestEnvironmentInfo", @@ -401,7 +401,7 @@ "requestUri":"/" }, "input":{"shape":"RequestEnvironmentInfoMessage"}, - "documentation":"

Initiates a request to compile the specified type of information of the deployed environment.

Setting the InfoType to tail compiles the last lines from the application server log files of every Amazon EC2 instance in your environment.

Setting the InfoType to bundle compresses the application server log files for every Amazon EC2 instance into a .zip file. Legacy and .NET containers do not support bundle logs.

Use RetrieveEnvironmentInfo to obtain the set of logs.

Related Topics

" + "documentation":"

Initiates a request to compile the specified type of information of the deployed environment.

Setting the InfoType to tail compiles the last lines from the application server log files of every Amazon EC2 instance in your environment.

Setting the InfoType to bundle compresses the application server log files for every Amazon EC2 instance into a .zip file. Legacy and .NET containers do not support bundle logs.

Use RetrieveEnvironmentInfo to obtain the set of logs.

Related Topics

" }, "RestartAppServer":{ "name":"RestartAppServer", @@ -423,7 +423,7 @@ "shape":"RetrieveEnvironmentInfoResultMessage", "resultWrapper":"RetrieveEnvironmentInfoResult" }, - "documentation":"

Retrieves the compiled information from a RequestEnvironmentInfo request.

Related Topics

" + "documentation":"

Retrieves the compiled information from a RequestEnvironmentInfo request.

Related Topics

" }, "SwapEnvironmentCNAMEs":{ "name":"SwapEnvironmentCNAMEs", @@ -432,7 +432,7 @@ "requestUri":"/" }, "input":{"shape":"SwapEnvironmentCNAMEsMessage"}, - "documentation":"

Swaps the CNAMEs of two environments.

" + "documentation":"

Swaps the CNAMEs of two environments.

" }, "TerminateEnvironment":{ "name":"TerminateEnvironment", @@ -448,7 +448,7 @@ "errors":[ {"shape":"InsufficientPrivilegesException"} ], - "documentation":"

Terminates the specified environment.

" + "documentation":"

Terminates the specified environment.

" }, "UpdateApplication":{ "name":"UpdateApplication", @@ -461,7 +461,7 @@ "shape":"ApplicationDescriptionMessage", "resultWrapper":"UpdateApplicationResult" }, - "documentation":"

Updates the specified application to have the specified properties.

If a property (for example, description) is not provided, the value remains unchanged. To clear these properties, specify an empty string. " + "documentation":"

Updates the specified application to have the specified properties.

If a property (for example, description) is not provided, the value remains unchanged. To clear these properties, specify an empty string.

" }, "UpdateApplicationVersion":{ "name":"UpdateApplicationVersion", @@ -474,7 +474,7 @@ "shape":"ApplicationVersionDescriptionMessage", "resultWrapper":"UpdateApplicationVersionResult" }, - "documentation":"

Updates the specified application version to have the specified properties.

If a property (for example, description) is not provided, the value remains unchanged. To clear properties, specify an empty string. " + "documentation":"

Updates the specified application version to have the specified properties.

If a property (for example, description) is not provided, the value remains unchanged. To clear properties, specify an empty string.

" }, "UpdateConfigurationTemplate":{ "name":"UpdateConfigurationTemplate", @@ -491,7 +491,7 @@ {"shape":"InsufficientPrivilegesException"}, {"shape":"TooManyBucketsException"} ], - "documentation":"

Updates the specified configuration template to have the specified properties or configuration option values.

If a property (for example, ApplicationName) is not provided, its value remains unchanged. To clear such properties, specify an empty string.

Related Topics

" + "documentation":"

Updates the specified configuration template to have the specified properties or configuration option values.

If a property (for example, ApplicationName) is not provided, its value remains unchanged. To clear such properties, specify an empty string.

Related Topics

" }, "UpdateEnvironment":{ "name":"UpdateEnvironment", @@ -508,7 +508,7 @@ {"shape":"InsufficientPrivilegesException"}, {"shape":"TooManyBucketsException"} ], - "documentation":"

Updates the environment description, deploys a new application version, updates the configuration settings to an entirely new configuration template, or updates select configuration option values in the running environment.

Attempting to update both the release and configuration is not allowed and AWS Elastic Beanstalk returns an InvalidParameterCombination error.

When updating the configuration settings to a new template or individual settings, a draft configuration is created and DescribeConfigurationSettings for this environment returns two setting descriptions with different DeploymentStatus values.

" + "documentation":"

Updates the environment description, deploys a new application version, updates the configuration settings to an entirely new configuration template, or updates select configuration option values in the running environment.

Attempting to update both the release and configuration is not allowed and AWS Elastic Beanstalk returns an InvalidParameterCombination error.

When updating the configuration settings to a new template or individual settings, a draft configuration is created and DescribeConfigurationSettings for this environment returns two setting descriptions with different DeploymentStatus values.

" }, "ValidateConfigurationSettings":{ "name":"ValidateConfigurationSettings", @@ -525,7 +525,7 @@ {"shape":"InsufficientPrivilegesException"}, {"shape":"TooManyBucketsException"} ], - "documentation":"

Takes a set of configuration settings and either a configuration template or environment, and determines whether those values are valid.

This action returns a list of messages indicating any errors or warnings associated with the selection of option values.

" + "documentation":"

Takes a set of configuration settings and either a configuration template or environment, and determines whether those values are valid.

This action returns a list of messages indicating any errors or warnings associated with the selection of option values.

" } }, "shapes":{ @@ -594,7 +594,7 @@ }, "ConfigurationTemplates":{ "shape":"ConfigurationTemplateNamesList", - "documentation":"

The names of the configuration templates associated with this application.

" + "documentation":"

The names of the configuration templates associated with this application.

" } }, "documentation":"

Describes the properties of an application.

" @@ -667,11 +667,12 @@ }, "VersionLabel":{ "shape":"VersionLabel", - "documentation":"

A label uniquely identifying the version for the associated application.

" + "documentation":"

A label uniquely identifying the version for the associated application.

" }, + "SourceBuildInformation":{"shape":"SourceBuildInformation"}, "SourceBundle":{ "shape":"S3Location", - "documentation":"

The location where the source bundle is located for this version.

" + "documentation":"

The location where the source bundle is located for this version.

" }, "DateCreated":{ "shape":"CreationDate", @@ -686,7 +687,7 @@ "documentation":"

The processing status of the application version.

" } }, - "documentation":"

Describes the properties of an application version.

" + "documentation":"

Describes the properties of an application version.

" }, "ApplicationVersionDescriptionList":{ "type":"list", @@ -700,7 +701,7 @@ "documentation":"

The ApplicationVersionDescription of the application version.

" } }, - "documentation":"

Result message wrapping a single description of an application version.

" + "documentation":"

Result message wrapping a single description of an application version.

" }, "ApplicationVersionDescriptionsMessage":{ "type":"structure", @@ -708,6 +709,10 @@ "ApplicationVersions":{ "shape":"ApplicationVersionDescriptionList", "documentation":"

List of ApplicationVersionDescription objects sorted by order of creation.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

For a paginated request, the token that you can pass in a subsequent request to get the next page.

" } }, "documentation":"

Result message wrapping a list of application version descriptions.

" @@ -772,7 +777,7 @@ "documentation":"

The name of the AutoScalingGroup .

" } }, - "documentation":"

Describes an Auto Scaling launch configuration.

" + "documentation":"

Describes an Auto Scaling launch configuration.

" }, "AutoScalingGroupList":{ "type":"list", @@ -835,7 +840,7 @@ "members":{ "CNAMEPrefix":{ "shape":"DNSCnamePrefix", - "documentation":"

The prefix used when this CNAME is reserved.

" + "documentation":"

The prefix used when this CNAME is reserved.

" } }, "documentation":"

Results message indicating whether a CNAME is available.

" @@ -845,7 +850,7 @@ "members":{ "Available":{ "shape":"CnameAvailability", - "documentation":"

Indicates if the specified CNAME is available:

" + "documentation":"

Indicates if the specified CNAME is available:

" }, "FullyQualifiedCNAME":{ "shape":"DNSCname", @@ -887,50 +892,50 @@ "members":{ "Namespace":{ "shape":"OptionNamespace", - "documentation":"

A unique namespace identifying the option's associated AWS resource.

" + "documentation":"

A unique namespace identifying the option's associated AWS resource.

" }, "Name":{ "shape":"ConfigurationOptionName", - "documentation":"

The name of the configuration option.

" + "documentation":"

The name of the configuration option.

" }, "DefaultValue":{ "shape":"ConfigurationOptionDefaultValue", - "documentation":"

The default value for this configuration option.

" + "documentation":"

The default value for this configuration option.

" }, "ChangeSeverity":{ "shape":"ConfigurationOptionSeverity", - "documentation":"

An indication of which action is required if the value for this configuration option changes:

" + "documentation":"

An indication of which action is required if the value for this configuration option changes:

" }, "UserDefined":{ "shape":"UserDefinedOption", - "documentation":"

An indication of whether the user defined this configuration option:

Constraint: You can remove only UserDefined options from a configuration.

Valid Values: true | false

" + "documentation":"

An indication of whether the user defined this configuration option:

Constraint: You can remove only UserDefined options from a configuration.

Valid Values: true | false

" }, "ValueType":{ "shape":"ConfigurationOptionValueType", - "documentation":"

An indication of which type of values this option has and whether it is allowable to select one or more than one of the possible values:

" + "documentation":"

An indication of which type of values this option has and whether it is allowable to select one or more than one of the possible values:

" }, "ValueOptions":{ "shape":"ConfigurationOptionPossibleValues", - "documentation":"

If specified, values for the configuration option are selected from this list.

" + "documentation":"

If specified, values for the configuration option are selected from this list.

" }, "MinValue":{ "shape":"OptionRestrictionMinValue", - "documentation":"

If specified, the configuration option must be a numeric value greater than this value.

" + "documentation":"

If specified, the configuration option must be a numeric value greater than this value.

" }, "MaxValue":{ "shape":"OptionRestrictionMaxValue", - "documentation":"

If specified, the configuration option must be a numeric value less than this value.

" + "documentation":"

If specified, the configuration option must be a numeric value less than this value.

" }, "MaxLength":{ "shape":"OptionRestrictionMaxLength", - "documentation":"

If specified, the configuration option must be a string value no longer than this value.

" + "documentation":"

If specified, the configuration option must be a string value no longer than this value.

" }, "Regex":{ "shape":"OptionRestrictionRegex", - "documentation":"

If specified, the configuration option must be a string value that satisfies this regular expression.

" + "documentation":"

If specified, the configuration option must be a string value that satisfies this regular expression.

" } }, - "documentation":"

Describes the possible values for a configuration option.

" + "documentation":"

Describes the possible values for a configuration option.

" }, "ConfigurationOptionDescriptionsList":{ "type":"list", @@ -947,19 +952,19 @@ "members":{ "ResourceName":{ "shape":"ResourceName", - "documentation":"

A unique resource name for a time-based scaling configuration option.

" + "documentation":"

A unique resource name for a time-based scaling configuration option.

" }, "Namespace":{ "shape":"OptionNamespace", - "documentation":"

A unique namespace identifying the option's associated AWS resource.

" + "documentation":"

A unique namespace identifying the option's associated AWS resource.

" }, "OptionName":{ "shape":"ConfigurationOptionName", - "documentation":"

The name of the configuration option.

" + "documentation":"

The name of the configuration option.

" }, "Value":{ "shape":"ConfigurationOptionValue", - "documentation":"

The current value for the configuration option.

" + "documentation":"

The current value for the configuration option.

" } }, "documentation":"

A specification identifying an individual configuration option along with its current value. For a list of possible option values, go to Option Values in the AWS Elastic Beanstalk Developer Guide.

" @@ -982,7 +987,7 @@ "members":{ "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

The name of the solution stack these configuration options belong to.

" + "documentation":"

The name of the solution stack these configuration options belong to.

" }, "Options":{ "shape":"ConfigurationOptionDescriptionsList", @@ -996,11 +1001,11 @@ "members":{ "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

The name of the solution stack this configuration set uses.

" + "documentation":"

The name of the solution stack this configuration set uses.

" }, "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application associated with this configuration set.

" + "documentation":"

The name of the application associated with this configuration set.

" }, "TemplateName":{ "shape":"ConfigurationTemplateName", @@ -1008,7 +1013,7 @@ }, "Description":{ "shape":"Description", - "documentation":"

Describes this configuration set.

" + "documentation":"

Describes this configuration set.

" }, "EnvironmentName":{ "shape":"EnvironmentName", @@ -1016,22 +1021,22 @@ }, "DeploymentStatus":{ "shape":"ConfigurationDeploymentStatus", - "documentation":"

If this configuration set is associated with an environment, the DeploymentStatus parameter indicates the deployment status of this configuration set:

" + "documentation":"

If this configuration set is associated with an environment, the DeploymentStatus parameter indicates the deployment status of this configuration set:

" }, "DateCreated":{ "shape":"CreationDate", - "documentation":"

The date (in UTC time) when this configuration set was created.

" + "documentation":"

The date (in UTC time) when this configuration set was created.

" }, "DateUpdated":{ "shape":"UpdateDate", - "documentation":"

The date (in UTC time) when this configuration set was last modified.

" + "documentation":"

The date (in UTC time) when this configuration set was last modified.

" }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", - "documentation":"

A list of the configuration options and their values in this configuration set.

" + "documentation":"

A list of the configuration options and their values in this configuration set.

" } }, - "documentation":"

Describes the settings for a configuration set.

" + "documentation":"

Describes the settings for a configuration set.

" }, "ConfigurationSettingsDescriptionList":{ "type":"list", @@ -1100,13 +1105,14 @@ "shape":"Description", "documentation":"

Describes this version.

" }, + "SourceBuildInformation":{"shape":"SourceBuildInformation"}, "SourceBundle":{ "shape":"S3Location", - "documentation":"

The Amazon S3 bucket and key that identify the location of the source bundle for this version.

If data found at the Amazon S3 location exceeds the maximum allowed source bundle size, AWS Elastic Beanstalk returns an InvalidParameterValue error. The maximum size allowed is 512 MB.

Default: If not specified, AWS Elastic Beanstalk uses a sample application. If only partially specified (for example, a bucket is provided but not the key) or if no data is found at the Amazon S3 location, AWS Elastic Beanstalk returns an InvalidParameterCombination error.

" + "documentation":"

The Amazon S3 bucket and key that identify the location of the source bundle for this version.

If data found at the Amazon S3 location exceeds the maximum allowed source bundle size, AWS Elastic Beanstalk returns an InvalidParameterValue error. The maximum size allowed is 512 MB.

Default: If not specified, AWS Elastic Beanstalk uses a sample application. If only partially specified (for example, a bucket is provided but not the key) or if no data is found at the Amazon S3 location, AWS Elastic Beanstalk returns an InvalidParameterCombination error.

" }, "AutoCreateApplication":{ "shape":"AutoCreateApplication", - "documentation":"

Determines how the system behaves if the specified application for this version does not already exist:

Default: false

Valid Values: true | false

" + "documentation":"

Determines how the system behaves if the specified application for this version does not already exist:

Default: false

Valid Values: true | false

" }, "Process":{ "shape":"ApplicationVersionProccess", @@ -1128,15 +1134,15 @@ }, "TemplateName":{ "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template.

Constraint: This name must be unique per application.

Default: If a configuration template already exists with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.

" + "documentation":"

The name of the configuration template.

Constraint: This name must be unique per application.

Default: If a configuration template already exists with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.

" }, "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

The name of the solution stack used by this configuration. The solution stack specifies the operating system, architecture, and application server for a configuration template. It determines the set of configuration options as well as the possible and default values.

Use ListAvailableSolutionStacks to obtain a list of available solution stacks.

A solution stack name or a source configuration parameter must be specified, otherwise AWS Elastic Beanstalk returns an InvalidParameterValue error.

If a solution stack name is not specified and the source configuration parameter is specified, AWS Elastic Beanstalk uses the same solution stack as the source configuration template.

" + "documentation":"

The name of the solution stack used by this configuration. The solution stack specifies the operating system, architecture, and application server for a configuration template. It determines the set of configuration options as well as the possible and default values.

Use ListAvailableSolutionStacks to obtain a list of available solution stacks.

A solution stack name or a source configuration parameter must be specified, otherwise AWS Elastic Beanstalk returns an InvalidParameterValue error.

If a solution stack name is not specified and the source configuration parameter is specified, AWS Elastic Beanstalk uses the same solution stack as the source configuration template.

" }, "SourceConfiguration":{ "shape":"SourceConfiguration", - "documentation":"

If specified, AWS Elastic Beanstalk uses the configuration values from the specified configuration template to create a new configuration.

Values specified in the OptionSettings parameter of this call overrides any values obtained from the SourceConfiguration.

If no configuration template is found, returns an InvalidParameterValue error.

Constraint: If both the solution stack name parameter and the source configuration parameters are specified, the solution stack of the source configuration template must match the specified solution stack name or else AWS Elastic Beanstalk returns an InvalidParameterCombination error.

" + "documentation":"

If specified, AWS Elastic Beanstalk uses the configuration values from the specified configuration template to create a new configuration.

Values specified in the OptionSettings parameter of this call overrides any values obtained from the SourceConfiguration.

If no configuration template is found, returns an InvalidParameterValue error.

Constraint: If both the solution stack name parameter and the source configuration parameters are specified, the solution stack of the source configuration template must match the specified solution stack name or else AWS Elastic Beanstalk returns an InvalidParameterCombination error.

" }, "EnvironmentId":{ "shape":"EnvironmentId", @@ -1148,7 +1154,7 @@ }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", - "documentation":"

If specified, AWS Elastic Beanstalk sets the specified configuration option to the requested value. The new value overrides the value obtained from the solution stack or the source configuration template.

" + "documentation":"

If specified, AWS Elastic Beanstalk sets the specified configuration option to the requested value. The new value overrides the value obtained from the solution stack or the source configuration template.

" } }, "documentation":"

Request to create a configuration template.

" @@ -1159,11 +1165,11 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application that contains the version to be deployed.

If no application is found with this name, CreateEnvironment returns an InvalidParameterValue error.

" + "documentation":"

The name of the application that contains the version to be deployed.

If no application is found with this name, CreateEnvironment returns an InvalidParameterValue error.

" }, "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

A unique name for the deployment environment. Used in the application URL.

Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It cannot start or end with a hyphen. This name must be unique in your account. If the specified name already exists, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Default: If the CNAME parameter is not specified, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.

" + "documentation":"

A unique name for the deployment environment. Used in the application URL.

Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It cannot start or end with a hyphen. This name must be unique in your account. If the specified name already exists, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Default: If the CNAME parameter is not specified, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.

" }, "GroupName":{ "shape":"GroupName", @@ -1175,19 +1181,19 @@ }, "CNAMEPrefix":{ "shape":"DNSCnamePrefix", - "documentation":"

If specified, the environment attempts to use this value as the prefix for the CNAME. If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name.

" + "documentation":"

If specified, the environment attempts to use this value as the prefix for the CNAME. If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name.

" }, "Tier":{ "shape":"EnvironmentTier", - "documentation":"

This specifies the tier to use for creating this environment.

" + "documentation":"

This specifies the tier to use for creating this environment.

" }, "Tags":{ "shape":"Tags", - "documentation":"

This specifies the tags applied to resources in the environment.

" + "documentation":"

This specifies the tags applied to resources in the environment.

" }, "VersionLabel":{ "shape":"VersionLabel", - "documentation":"

The name of the application version to deploy.

If the specified application has no associated application versions, AWS Elastic Beanstalk UpdateEnvironment returns an InvalidParameterValue error.

Default: If not specified, AWS Elastic Beanstalk attempts to launch the sample application in the container.

" + "documentation":"

The name of the application version to deploy.

If the specified application has no associated application versions, AWS Elastic Beanstalk UpdateEnvironment returns an InvalidParameterValue error.

Default: If not specified, AWS Elastic Beanstalk attempts to launch the sample application in the container.

" }, "TemplateName":{ "shape":"ConfigurationTemplateName", @@ -1195,15 +1201,15 @@ }, "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

This is an alternative to specifying a template name. If specified, AWS Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack.

Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.

" + "documentation":"

This is an alternative to specifying a template name. If specified, AWS Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack.

Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.

" }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", - "documentation":"

If specified, AWS Elastic Beanstalk sets the specified configuration options to the requested value in the configuration set for the new environment. These override the values obtained from the solution stack or the configuration template.

" + "documentation":"

If specified, AWS Elastic Beanstalk sets the specified configuration options to the requested value in the configuration set for the new environment. These override the values obtained from the solution stack or the configuration template.

" }, "OptionsToRemove":{ "shape":"OptionsSpecifierList", - "documentation":"

A list of custom user-defined configuration options to remove from the configuration set for this new environment.

" + "documentation":"

A list of custom user-defined configuration options to remove from the configuration set for this new environment.

" } }, "documentation":"

" @@ -1213,7 +1219,7 @@ "members":{ "S3Bucket":{ "shape":"S3Bucket", - "documentation":"

The name of the Amazon S3 bucket created.

" + "documentation":"

The name of the Amazon S3 bucket created.

" } }, "documentation":"

Results of a CreateStorageLocationResult call.

" @@ -1261,7 +1267,7 @@ }, "DeleteSourceBundle":{ "shape":"DeleteSourceBundle", - "documentation":"

Indicates whether to delete the associated source bundle from Amazon S3:

Valid Values: true | false

" + "documentation":"

Indicates whether to delete the associated source bundle from Amazon S3:

Valid Values: true | false

" } }, "documentation":"

Request to delete an application version.

" @@ -1275,7 +1281,7 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application to delete the configuration template from.

" + "documentation":"

The name of the application to delete the configuration template from.

" }, "TemplateName":{ "shape":"ConfigurationTemplateName", @@ -1316,7 +1322,7 @@ }, "Status":{ "shape":"String", - "documentation":"

The status of the deployment:

" + "documentation":"

The status of the deployment:

" }, "DeploymentTime":{ "shape":"DeploymentTimestamp", @@ -1336,6 +1342,14 @@ "VersionLabels":{ "shape":"VersionLabelsList", "documentation":"

If specified, restricts the returned descriptions to only include ones that have the specified version labels.

" + }, + "MaxRecords":{ + "shape":"MaxRecords", + "documentation":"

Specify a maximum number of application versions to paginate in the request.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

Specify a next token to retrieve the next page in a paginated request.

" } }, "documentation":"

Result message containing a list of configuration descriptions.

" @@ -1345,7 +1359,7 @@ "members":{ "ApplicationNames":{ "shape":"ApplicationNamesList", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names.

" + "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names.

" } }, "documentation":"

Request to describe one or more applications.

" @@ -1355,26 +1369,26 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application associated with the configuration template or environment. Only needed if you want to describe the configuration options associated with either the configuration template or environment.

" + "documentation":"

The name of the application associated with the configuration template or environment. Only needed if you want to describe the configuration options associated with either the configuration template or environment.

" }, "TemplateName":{ "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template whose configuration options you want to describe.

" + "documentation":"

The name of the configuration template whose configuration options you want to describe.

" }, "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The name of the environment whose configuration options you want to describe.

" + "documentation":"

The name of the environment whose configuration options you want to describe.

" }, "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

The name of the solution stack whose configuration options you want to describe.

" + "documentation":"

The name of the solution stack whose configuration options you want to describe.

" }, "Options":{ "shape":"OptionsSpecifierList", - "documentation":"

If specified, restricts the descriptions to only the specified options.

" + "documentation":"

If specified, restricts the descriptions to only the specified options.

" } }, - "documentation":"

Result message containig a list of application version descriptions.

" + "documentation":"

Result message containig a list of application version descriptions.

" }, "DescribeConfigurationSettingsMessage":{ "type":"structure", @@ -1382,15 +1396,15 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The application for the environment or configuration template.

" + "documentation":"

The application for the environment or configuration template.

" }, "TemplateName":{ "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template to describe.

Conditional: You must specify either this parameter or an EnvironmentName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.

" + "documentation":"

The name of the configuration template to describe.

Conditional: You must specify either this parameter or an EnvironmentName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.

" }, "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The name of the environment to describe.

Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

The name of the environment to describe.

Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" } }, "documentation":"

Result message containing all of the configuration settings for a specified solution stack or configuration template.

" @@ -1514,11 +1528,11 @@ "members":{ "EnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

The ID of the environment to retrieve AWS resource usage data.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

The ID of the environment to retrieve AWS resource usage data.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" }, "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The name of the environment to retrieve AWS resource usage data.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

The name of the environment to retrieve AWS resource usage data.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" } }, "documentation":"

Request to describe the resources in an environment.

" @@ -1578,11 +1592,11 @@ }, "RequestId":{ "shape":"RequestId", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.

" + "documentation":"

If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.

" }, "Severity":{ "shape":"EventSeverity", - "documentation":"

If specified, limits the events returned from this call to include only those with the specified severity or higher.

" + "documentation":"

If specified, limits the events returned from this call to include only those with the specified severity or higher.

" }, "StartTime":{ "shape":"TimeFilterStart", @@ -1594,11 +1608,11 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

Specifies the maximum number of events that can be returned, beginning with the most recent event.

" + "documentation":"

Specifies the maximum number of events that can be returned, beginning with the most recent event.

" }, "NextToken":{ "shape":"Token", - "documentation":"

Pagination token. If specified, the events return the next batch of results.

" + "documentation":"

Pagination token. If specified, the events return the next batch of results.

" } }, "documentation":"

Request to retrieve a list of events for an environment.

" @@ -1669,7 +1683,7 @@ }, "EnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

The ID of this environment.

" + "documentation":"

The ID of this environment.

" }, "ApplicationName":{ "shape":"ApplicationName", @@ -1685,7 +1699,7 @@ }, "TemplateName":{ "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template used to originally launch this environment.

" + "documentation":"

The name of the configuration template used to originally launch this environment.

" }, "Description":{ "shape":"Description", @@ -1697,7 +1711,7 @@ }, "CNAME":{ "shape":"DNSCname", - "documentation":"

The URL to the CNAME for this environment.

" + "documentation":"

The URL to the CNAME for this environment.

" }, "DateCreated":{ "shape":"CreationDate", @@ -1709,7 +1723,7 @@ }, "Status":{ "shape":"EnvironmentStatus", - "documentation":"

The current operational status of the environment:

" + "documentation":"

The current operational status of the environment:

" }, "AbortableOperationInProgress":{ "shape":"AbortableOperationInProgress", @@ -1717,7 +1731,7 @@ }, "Health":{ "shape":"EnvironmentHealth", - "documentation":"

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

Default: Grey

" + "documentation":"

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

Default: Grey

" }, "HealthStatus":{ "shape":"EnvironmentHealthStatus", @@ -1885,7 +1899,7 @@ }, "Queues":{ "shape":"QueueList", - "documentation":"

The queues used by this environment.

" + "documentation":"

The queues used by this environment.

" } }, "documentation":"

Describes the AWS resources in use by this environment. This data is live.

" @@ -1898,7 +1912,7 @@ "documentation":"

A list of EnvironmentResourceDescription.

" } }, - "documentation":"

Result message containing a list of environment resource descriptions.

" + "documentation":"

Result message containing a list of environment resource descriptions.

" }, "EnvironmentResourcesDescription":{ "type":"structure", @@ -1936,7 +1950,7 @@ "documentation":"

The version of this environment tier.

" } }, - "documentation":"

Describes the properties of an environment tier

" + "documentation":"

Describes the properties of an environment tier

" }, "EventDate":{"type":"timestamp"}, "EventDescription":{ @@ -1972,7 +1986,7 @@ }, "Severity":{ "shape":"EventSeverity", - "documentation":"

The severity level of this event.

" + "documentation":"

The severity level of this event.

" } }, "documentation":"

Describes an event.

" @@ -2052,35 +2066,35 @@ "members":{ "NoData":{ "shape":"NullableInteger", - "documentation":"

Grey. AWS Elastic Beanstalk and the health agent are reporting no data on an instance.

" + "documentation":"

Grey. AWS Elastic Beanstalk and the health agent are reporting no data on an instance.

" }, "Unknown":{ "shape":"NullableInteger", - "documentation":"

Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient amount of data on an instance.

" + "documentation":"

Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient amount of data on an instance.

" }, "Pending":{ "shape":"NullableInteger", - "documentation":"

Grey. An operation is in progress on an instance within the command timeout.

" + "documentation":"

Grey. An operation is in progress on an instance within the command timeout.

" }, "Ok":{ "shape":"NullableInteger", - "documentation":"

Green. An instance is passing health checks and the health agent is not reporting any problems.

" + "documentation":"

Green. An instance is passing health checks and the health agent is not reporting any problems.

" }, "Info":{ "shape":"NullableInteger", - "documentation":"

Green. An operation is in progress on an instance.

" + "documentation":"

Green. An operation is in progress on an instance.

" }, "Warning":{ "shape":"NullableInteger", - "documentation":"

Yellow. The health agent is reporting a moderate number of request failures or other issues for an instance or environment.

" + "documentation":"

Yellow. The health agent is reporting a moderate number of request failures or other issues for an instance or environment.

" }, "Degraded":{ "shape":"NullableInteger", - "documentation":"

Red. The health agent is reporting a high number of request failures or other issues for an instance or environment.

" + "documentation":"

Red. The health agent is reporting a high number of request failures or other issues for an instance or environment.

" }, "Severe":{ "shape":"NullableInteger", - "documentation":"

Red. The health agent is reporting a very high number of request failures or other issues for an instance or environment.

" + "documentation":"

Red. The health agent is reporting a very high number of request failures or other issues for an instance or environment.

" } }, "documentation":"

Represents summary information about the health of an instance. For more information, see Health Colors and Statuses.

" @@ -2197,14 +2211,14 @@ "members":{ "SolutionStacks":{ "shape":"AvailableSolutionStackNamesList", - "documentation":"

A list of available solution stacks.

" + "documentation":"

A list of available solution stacks.

" }, "SolutionStackDetails":{ "shape":"AvailableSolutionStackDetailsList", "documentation":"

A list of available solution stacks and their SolutionStackDescription.

" } }, - "documentation":"

A list of available AWS Elastic Beanstalk solution stacks.

" + "documentation":"

A list of available AWS Elastic Beanstalk solution stacks.

" }, "Listener":{ "type":"structure", @@ -2384,32 +2398,32 @@ "members":{ "Pattern":{ "shape":"RegexPattern", - "documentation":"

The regular expression pattern that a string configuration option value with this restriction must match.

" + "documentation":"

The regular expression pattern that a string configuration option value with this restriction must match.

" }, "Label":{ "shape":"RegexLabel", - "documentation":"

A unique name representing this regular expression.

" + "documentation":"

A unique name representing this regular expression.

" } }, - "documentation":"

A regular expression representing a restriction on a string configuration option value.

" + "documentation":"

A regular expression representing a restriction on a string configuration option value.

" }, "OptionSpecification":{ "type":"structure", "members":{ "ResourceName":{ "shape":"ResourceName", - "documentation":"

A unique resource name for a time-based scaling configuration option.

" + "documentation":"

A unique resource name for a time-based scaling configuration option.

" }, "Namespace":{ "shape":"OptionNamespace", - "documentation":"

A unique namespace identifying the option's associated AWS resource.

" + "documentation":"

A unique namespace identifying the option's associated AWS resource.

" }, "OptionName":{ "shape":"ConfigurationOptionName", - "documentation":"

The name of the configuration option.

" + "documentation":"

The name of the configuration option.

" } }, - "documentation":"

A specification identifying an individual configuration option.

" + "documentation":"

A specification identifying an individual configuration option.

" }, "OptionsSpecifierList":{ "type":"list", @@ -2438,11 +2452,11 @@ "members":{ "EnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

The ID of the environment to rebuild.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

The ID of the environment to rebuild.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" }, "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The name of the environment to rebuild.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

The name of the environment to rebuild.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" } }, "documentation":"

" @@ -2482,11 +2496,11 @@ "members":{ "EnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

The ID of the environment to restart the server for.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

The ID of the environment to restart the server for.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" }, "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The name of the environment to restart the server for.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

The name of the environment to restart the server for.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" } }, "documentation":"

" @@ -2505,7 +2519,7 @@ }, "InfoType":{ "shape":"EnvironmentInfoType", - "documentation":"

The type of information to retrieve.

" + "documentation":"

The type of information to retrieve.

" } }, "documentation":"

Request to download logs retrieved with RequestEnvironmentInfo.

" @@ -2612,14 +2626,14 @@ "members":{ "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

The name of the solution stack.

" + "documentation":"

The name of the solution stack.

" }, "PermittedFileTypes":{ "shape":"SolutionStackFileTypeList", - "documentation":"

The permitted file types allowed for a solution stack.

" + "documentation":"

The permitted file types allowed for a solution stack.

" } }, - "documentation":"

Describes the solution stack.

" + "documentation":"

Describes the solution stack.

" }, "SolutionStackFileTypeList":{ "type":"list", @@ -2629,6 +2643,19 @@ "type":"string", "max":100 }, + "SourceBuildInformation":{ + "type":"structure", + "required":[ + "SourceType", + "SourceRepository", + "SourceLocation" + ], + "members":{ + "SourceType":{"shape":"SourceType"}, + "SourceRepository":{"shape":"SourceRepository"}, + "SourceLocation":{"shape":"SourceLocation"} + } + }, "SourceBundleDeletionException":{ "type":"structure", "members":{ @@ -2655,6 +2682,20 @@ }, "documentation":"

A specification for an environment configuration

" }, + "SourceLocation":{ + "type":"string", + "max":255, + "min":3, + "pattern":".+/.+" + }, + "SourceRepository":{ + "type":"string", + "enum":["CodeCommit"] + }, + "SourceType":{ + "type":"string", + "enum":["Git"] + }, "StatusCodes":{ "type":"structure", "members":{ @@ -2683,19 +2724,19 @@ "members":{ "SourceEnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

The ID of the source environment.

Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentId, you must specify the DestinationEnvironmentId.

" + "documentation":"

The ID of the source environment.

Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentId, you must specify the DestinationEnvironmentId.

" }, "SourceEnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The name of the source environment.

Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentName, you must specify the DestinationEnvironmentName.

" + "documentation":"

The name of the source environment.

Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentName, you must specify the DestinationEnvironmentName.

" }, "DestinationEnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

The ID of the destination environment.

Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentId with the DestinationEnvironmentId.

" + "documentation":"

The ID of the destination environment.

Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentId with the DestinationEnvironmentId.

" }, "DestinationEnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The name of the destination environment.

Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentName with the DestinationEnvironmentName.

" + "documentation":"

The name of the destination environment.

Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentName with the DestinationEnvironmentName.

" } }, "documentation":"

Swaps the CNAMEs of two environments.

" @@ -2753,7 +2794,7 @@ }, "TerminateResources":{ "shape":"TerminateEnvironmentResources", - "documentation":"

Indicates whether the associated AWS resources should shut down when the environment is terminated:

For more information, see the AWS Elastic Beanstalk User Guide.

Default: true

Valid Values: true | false

" + "documentation":"

Indicates whether the associated AWS resources should shut down when the environment is terminated:

For more information, see the AWS Elastic Beanstalk User Guide.

Default: true

Valid Values: true | false

" }, "ForceTerminate":{ "shape":"ForceTerminate", @@ -2846,7 +2887,7 @@ }, "Description":{ "shape":"Description", - "documentation":"

A new description for the application.

Default: If not specified, AWS Elastic Beanstalk does not update the description.

" + "documentation":"

A new description for the application.

Default: If not specified, AWS Elastic Beanstalk does not update the description.

" } }, "documentation":"

Request to update an application.

" @@ -2860,7 +2901,7 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application associated with this version.

If no application is found with this name, UpdateApplication returns an InvalidParameterValue error.

" + "documentation":"

The name of the application associated with this version.

If no application is found with this name, UpdateApplication returns an InvalidParameterValue error.

" }, "VersionLabel":{ "shape":"VersionLabel", @@ -2894,11 +2935,11 @@ }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", - "documentation":"

A list of configuration option settings to update with the new specified option value.

" + "documentation":"

A list of configuration option settings to update with the new specified option value.

" }, "OptionsToRemove":{ "shape":"OptionsSpecifierList", - "documentation":"

A list of configuration options to remove from the configuration set.

Constraint: You can remove only UserDefined configuration options.

" + "documentation":"

A list of configuration options to remove from the configuration set.

Constraint: You can remove only UserDefined configuration options.

" } }, "documentation":"

The result message containing the options for the specified solution stack.

" @@ -2925,11 +2966,11 @@ }, "Description":{ "shape":"Description", - "documentation":"

If this parameter is specified, AWS Elastic Beanstalk updates the description of this environment.

" + "documentation":"

If this parameter is specified, AWS Elastic Beanstalk updates the description of this environment.

" }, "Tier":{ "shape":"EnvironmentTier", - "documentation":"

This specifies the tier to use to update the environment.

Condition: At this time, if you change the tier version, name, or type, AWS Elastic Beanstalk returns InvalidParameterValue error.

" + "documentation":"

This specifies the tier to use to update the environment.

Condition: At this time, if you change the tier version, name, or type, AWS Elastic Beanstalk returns InvalidParameterValue error.

" }, "VersionLabel":{ "shape":"VersionLabel", @@ -2941,15 +2982,15 @@ }, "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

This specifies the platform version that the environment will run after the environment is updated.

" + "documentation":"

This specifies the platform version that the environment will run after the environment is updated.

" }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", - "documentation":"

If specified, AWS Elastic Beanstalk updates the configuration set associated with the running environment and sets the specified configuration options to the requested value.

" + "documentation":"

If specified, AWS Elastic Beanstalk updates the configuration set associated with the running environment and sets the specified configuration options to the requested value.

" }, "OptionsToRemove":{ "shape":"OptionsSpecifierList", - "documentation":"

A list of custom user-defined configuration options to remove from the configuration set for this environment.

" + "documentation":"

A list of custom user-defined configuration options to remove from the configuration set for this environment.

" } }, "documentation":"

Request to update an environment.

" @@ -2964,33 +3005,33 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application that the configuration template or environment belongs to.

" + "documentation":"

The name of the application that the configuration template or environment belongs to.

" }, "TemplateName":{ "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template to validate the settings against.

Condition: You cannot specify both this and an environment name.

" + "documentation":"

The name of the configuration template to validate the settings against.

Condition: You cannot specify both this and an environment name.

" }, "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The name of the environment to validate the settings against.

Condition: You cannot specify both this and a configuration template name.

" + "documentation":"

The name of the environment to validate the settings against.

Condition: You cannot specify both this and a configuration template name.

" }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", - "documentation":"

A list of the options and desired values to evaluate.

" + "documentation":"

A list of the options and desired values to evaluate.

" } }, - "documentation":"

A list of validation messages for a specified configuration template.

" + "documentation":"

A list of validation messages for a specified configuration template.

" }, "ValidationMessage":{ "type":"structure", "members":{ "Message":{ "shape":"ValidationMessageString", - "documentation":"

A message describing the error or warning.

" + "documentation":"

A message describing the error or warning.

" }, "Severity":{ "shape":"ValidationSeverity", - "documentation":"

An indication of the severity of this message:

" + "documentation":"

An indication of the severity of this message:

" }, "Namespace":{ "shape":"OptionNamespace", @@ -3001,7 +3042,7 @@ "documentation":"

" } }, - "documentation":"

An error or warning for a desired configuration option value.

" + "documentation":"

An error or warning for a desired configuration option value.

" }, "ValidationMessageString":{"type":"string"}, "ValidationMessagesList":{ @@ -3029,5 +3070,5 @@ "member":{"shape":"VersionLabel"} } }, - "documentation":"AWS Elastic Beanstalk

AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable, fault-tolerant applications running on the Amazon Web Services cloud.

For more information about this product, go to the AWS Elastic Beanstalk details page. The location of the latest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl. To install the Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools that enable you to access the API, go to Tools for Amazon Web Services.

Endpoints

For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to Regions and Endpoints in the Amazon Web Services Glossary.

" + "documentation":"AWS Elastic Beanstalk

AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable, fault-tolerant applications running on the Amazon Web Services cloud.

For more information about this product, go to the AWS Elastic Beanstalk details page. The location of the latest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl. To install the Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools that enable you to access the API, go to Tools for Amazon Web Services.

Endpoints

For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to Regions and Endpoints in the Amazon Web Services Glossary.

" } diff --git a/botocore/data/endpoints.json b/botocore/data/endpoints.json index 754f7aaa..4c9a8661 100644 --- a/botocore/data/endpoints.json +++ b/botocore/data/endpoints.json @@ -16,12 +16,12 @@ ] }, "regions": { - "aws-global": { - "description": "AWS partition-global endpoint" - }, "us-east-1": { "description": "US East (N. Virginia)" }, + "us-east-2": { + "description": "US East (Ohio)" + }, "us-west-1": { "description": "US West (N. California)" }, @@ -35,7 +35,7 @@ "description": "Asia Pacific (Seoul)" }, "ap-south-1": { - "description": "Asia Pacific (Bombay)" + "description": "Asia Pacific (Mumbai)" }, "ap-southeast-1": { "description": "Asia Pacific (Singapore)" @@ -57,6 +57,7 @@ "acm": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "eu-west-1": {}, @@ -72,10 +73,13 @@ "apigateway": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-2": {}, "eu-west-1": {}, "ap-northeast-1": {}, + "ap-northeast-2": {}, "ap-southeast-1": {}, + "ap-southeast-2": {}, "eu-central-1": {} } }, @@ -92,7 +96,13 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, + "us-west-1": {}, "us-west-2": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "ap-northeast-1": {}, + "eu-central-1": {}, "eu-west-1": {} } }, @@ -111,8 +121,10 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, + "ap-south-1": {}, "ap-northeast-1": {}, "ap-northeast-2": {}, "ap-southeast-1": {}, @@ -125,6 +137,7 @@ "cloudformation": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -156,6 +169,8 @@ "cloudhsm": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, + "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, "ap-southeast-1": {}, @@ -181,6 +196,7 @@ "cloudtrail": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -195,12 +211,14 @@ }, "codecommit": { "endpoints": { - "us-east-1": {} + "us-east-1": {}, + "us-east-2": {} } }, "codedeploy": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -216,33 +234,44 @@ "codepipeline": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-2": {} } }, "cognito-identity": { "endpoints": { "us-east-1": {}, + "us-west-2": {}, "eu-west-1": {}, - "ap-northeast-1": {} + "eu-central-1": {}, + "ap-northeast-1": {}, + "ap-northeast-2": {} } }, "cognito-idp": { "endpoints": { "us-east-1": {}, + "us-west-2": {}, "eu-west-1": {}, - "ap-northeast-1": {} + "eu-central-1": {}, + "ap-northeast-1": {}, + "ap-northeast-2": {} } }, "cognito-sync": { "endpoints": { "us-east-1": {}, + "us-west-2": {}, "eu-west-1": {}, - "ap-northeast-1": {} + "eu-central-1": {}, + "ap-northeast-1": {}, + "ap-northeast-2": {} } }, "config": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -278,6 +307,9 @@ "us-east-1": {}, "us-west-2": {}, "ap-northeast-1": {}, + "ap-northeast-2": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, "eu-west-1": {}, "eu-central-1": {} } @@ -290,6 +322,7 @@ "directconnect": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -310,11 +343,15 @@ "dms": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, + "ap-northeast-2": {}, + "ap-south-1": {}, "ap-southeast-1": {}, "ap-southeast-2": {}, + "sa-east-1": {}, "eu-west-1": {}, "eu-central-1": {} } @@ -326,7 +363,8 @@ "ap-northeast-1": {}, "ap-southeast-1": {}, "ap-southeast-2": {}, - "eu-west-1": {} + "eu-west-1": {}, + "eu-central-1": {} } }, "dynamodb": { @@ -338,6 +376,7 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -368,6 +407,7 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -383,6 +423,7 @@ "ecs": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -395,13 +436,20 @@ "ecr": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, + "us-west-1": {}, "us-west-2": {}, - "eu-west-1": {} + "ap-northeast-1": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "eu-west-1": {}, + "eu-central-1": {} } }, "elasticache": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -417,6 +465,7 @@ "elasticbeanstalk": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -431,7 +480,9 @@ }, "elasticfilesystem": { "endpoints": { - "us-west-2": {} + "us-east-1": {}, + "us-west-2": {}, + "eu-west-1": {} } }, "elasticloadbalancing": { @@ -443,6 +494,7 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -467,6 +519,7 @@ "us-east-1": { "sslCommonName": "{service}.{region}.{dnsSuffix}" }, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -487,7 +540,9 @@ "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, + "ap-south-1": {}, "ap-southeast-1": {}, + "ap-southeast-2": {}, "eu-west-1": {} } }, @@ -501,6 +556,7 @@ "es": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "eu-west-1": {}, @@ -516,10 +572,12 @@ "events": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "eu-west-1": {}, "eu-central-1": {}, + "ap-south-1": {}, "ap-southeast-1": {}, "ap-southeast-2": {}, "ap-northeast-1": {}, @@ -551,6 +609,7 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -595,7 +654,10 @@ "us-west-2": {}, "us-east-1": {}, "eu-west-1": {}, - "ap-northeast-1": {} + "ap-northeast-1": {}, + "ap-northeast-2": {}, + "ap-south-1": {}, + "ap-southeast-2": {} } }, "iot": { @@ -608,7 +670,9 @@ "us-east-1": {}, "us-west-2": {}, "ap-northeast-1": {}, + "ap-northeast-2": {}, "ap-southeast-1": {}, + "ap-southeast-2": {}, "eu-west-1": {}, "eu-central-1": {} } @@ -616,6 +680,7 @@ "kinesis": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -628,9 +693,17 @@ "sa-east-1": {} } }, + "kinesisanalytics": { + "endpoints": { + "us-east-1": {}, + "us-west-2": {}, + "eu-west-1": {} + } + }, "kms": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -646,8 +719,12 @@ "lambda": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-2": {}, "ap-northeast-1": {}, + "ap-northeast-2": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, "eu-west-1": {}, "eu-central-1": {} } @@ -655,6 +732,7 @@ "logs": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -675,7 +753,8 @@ }, "marketplacecommerceanalytics": { "endpoints": { - "us-east-1": {} + "us-east-1": {}, + "us-east-2": {} } }, "metering.marketplace": { @@ -698,6 +777,7 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -720,10 +800,12 @@ "us-east-1": { "sslCommonName": "{service}.{dnsSuffix}" }, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, "ap-northeast-2": {}, + "ap-south-1": {}, "ap-southeast-1": {}, "ap-southeast-2": {}, "sa-east-1": {}, @@ -734,6 +816,7 @@ "redshift": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -771,57 +854,82 @@ "https" ], "signatureVersions": [ - "s3", "s3v4" ] }, "endpoints": { "us-east-1": { - "hostname": "s3.amazonaws.com" + "hostname": "s3.amazonaws.com", + "signatureVersions": [ + "s3", + "s3v4" + ] }, + "us-east-2": {}, "s3-external-1": { "credentialScope": { "region": "us-east-1" }, - "hostname": "s3-external-1.amazonaws.com" + "hostname": "s3-external-1.amazonaws.com", + "signatureVersions": [ + "s3", + "s3v4" + ] }, "us-west-1": { - "hostname": "s3-us-west-1.amazonaws.com" + "hostname": "s3-us-west-1.amazonaws.com", + "signatureVersions": [ + "s3", + "s3v4" + ] }, "us-west-2": { - "hostname": "s3-us-west-2.amazonaws.com" + "hostname": "s3-us-west-2.amazonaws.com", + "signatureVersions": [ + "s3", + "s3v4" + ] }, "ap-northeast-1": { - "hostname": "s3-ap-northeast-1.amazonaws.com" - }, - "ap-northeast-2": { + "hostname": "s3-ap-northeast-1.amazonaws.com", "signatureVersions": [ + "s3", "s3v4" ] }, + "ap-northeast-2": {}, "ap-south-1": { - "hostname": "s3-ap-south-1.amazonaws.com", - "signatureVersions": [ - "s3v4" - ] + "hostname": "s3-ap-south-1.amazonaws.com" }, "ap-southeast-1": { - "hostname": "s3-ap-southeast-1.amazonaws.com" - }, - "ap-southeast-2": { - "hostname": "s3-ap-southeast-2.amazonaws.com" - }, - "sa-east-1": { - "hostname": "s3-sa-east-1.amazonaws.com" - }, - "eu-west-1": { - "hostname": "s3-eu-west-1.amazonaws.com" - }, - "eu-central-1": { + "hostname": "s3-ap-southeast-1.amazonaws.com", "signatureVersions": [ + "s3", "s3v4" ] - } + }, + "ap-southeast-2": { + "hostname": "s3-ap-southeast-2.amazonaws.com", + "signatureVersions": [ + "s3", + "s3v4" + ] + }, + "sa-east-1": { + "hostname": "s3-sa-east-1.amazonaws.com", + "signatureVersions": [ + "s3", + "s3v4" + ] + }, + "eu-west-1": { + "hostname": "s3-eu-west-1.amazonaws.com", + "signatureVersions": [ + "s3", + "s3v4" + ] + }, + "eu-central-1": {} } }, "sdb": { @@ -847,6 +955,30 @@ "eu-west-1": {} } }, + "servicecatalog": { + "endpoints": { + "us-east-1": {}, + "us-east-2": {}, + "eu-west-1": {}, + "us-west-2": {}, + "ap-northeast-1": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "eu-central-1": {} + } + }, + "snowball": { + "endpoints": { + "us-east-1": {}, + "us-east-2": {}, + "us-west-1": {}, + "us-west-2": {}, + "ap-south-1": {}, + "ap-southeast-2": {}, + "eu-central-1": {}, + "eu-west-1": {} + } + }, "sns": { "defaults": { "protocols": [ @@ -856,6 +988,7 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -880,6 +1013,7 @@ "us-east-1": { "sslCommonName": "queue.{dnsSuffix}" }, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -900,6 +1034,7 @@ "eu-central-1": {}, "eu-west-1": {}, "ap-northeast-1": {}, + "ap-northeast-2": {}, "ap-southeast-1": {}, "ap-southeast-2": {}, "sa-east-1": {} @@ -908,6 +1043,7 @@ "storagegateway": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -930,6 +1066,7 @@ }, "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -952,6 +1089,7 @@ "endpoints": { "aws-global": {}, "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -976,6 +1114,7 @@ "swf": { "endpoints": { "us-east-1": {}, + "us-east-2": {}, "us-west-1": {}, "us-west-2": {}, "ap-northeast-1": {}, @@ -1027,9 +1166,6 @@ ] }, "regions": { - "aws-cn-global": { - "description": "AWS China partition-global endpoint" - }, "cn-north-1": { "description": "China (Beijing)" } @@ -1242,9 +1378,6 @@ ] }, "regions": { - "aws-us-gov-global": { - "description": "AWS GovCloud (US) partition-global endpoint" - }, "us-gov-west-1": { "description": "AWS GovCloud (US)" } diff --git a/botocore/data/gamelift/2015-10-01/service-2.json b/botocore/data/gamelift/2015-10-01/service-2.json index 7b1becef..2d18d890 100755 --- a/botocore/data/gamelift/2015-10-01/service-2.json +++ b/botocore/data/gamelift/2015-10-01/service-2.json @@ -4,12 +4,11 @@ "apiVersion":"2015-10-01", "endpointPrefix":"gamelift", "jsonVersion":"1.1", + "protocol":"json", "serviceFullName":"Amazon GameLift", "signatureVersion":"v4", - "targetPrefix":"GameLift", - "protocol":"json" + "targetPrefix":"GameLift" }, - "documentation":"Amazon GameLift Service

Welcome to the Amazon GameLift API Reference. Amazon GameLift is a managed Amazon Web Services (AWS) service for developers who need a scalable, server-based solution for multiplayer games. Amazon GameLift provides setup and deployment of game servers, and handles infrastructure scaling and session management.

This reference describes the low-level service API for GameLift. You can call this API directly or use the AWS SDK for your preferred language. The AWS SDK includes a set of high-level GameLift actions multiplayer game sessions. Alternatively, you can use the AWS command-line interface (CLI) tool, which includes commands for GameLift. For administrative actions, you can also use the Amazon GameLift console.

More Resources

Manage Games and Players Through GameLift

Call these actions from your game clients and/or services to create and manage multiplayer game sessions and player sessions.

Set Up and Manage Game Servers

Use these administrative actions to configure GameLift to host your game servers. When setting up GameLift, you'll need to (1) configure a build for your game and upload build files, and (2) set up one or more fleets to host game sessions. Once you've created and activated a fleet, you can assign aliases to it, scale capacity, track performance and utilization, etc.

To view changes to the API, see the GameLift Document History page.

", "operations":{ "CreateAlias":{ "name":"CreateAlias", @@ -17,41 +16,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"CreateAliasInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"CreateAliasOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"CreateAliasInput"}, + "output":{"shape":"CreateAliasOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"ConflictException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceException"}, + {"shape":"LimitExceededException"} ], "documentation":"

Creates an alias for a fleet. You can use an alias to anonymize your fleet by referencing an alias instead of a specific fleet when you create game sessions. Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. Use a simple alias to point to an active fleet. Use a terminal alias to display a message to incoming traffic instead of routing players to an active fleet. This option is useful when a game server is no longer supported but you want to provide better messaging than a standard 404 error.

To create a fleet alias, specify an alias name, routing strategy, and optional description. If successful, a new alias record is returned, including an alias ID, which you can reference when creating a game session. To reassign the alias to another fleet ID, call UpdateAlias.

" }, @@ -61,36 +33,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"CreateBuildInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"CreateBuildOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"CreateBuildInput"}, + "output":{"shape":"CreateBuildOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"ConflictException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceException"} ], "documentation":"

Initializes a new build record and generates information required to upload a game build to Amazon GameLift. Once the build record has been created and its status is INITIALIZED, you can upload your game build.

Do not use this API action unless you are using your own Amazon Simple Storage Service (Amazon S3) client and need to manually upload your build files. Instead, to create a build, use the CLI command upload-build, which creates a new build record and uploads the build files in one step. (See the Amazon GameLift Developer Guide help on packaging and uploading your build.)

To create a new build, identify the operating system of the game server binaries. All game servers in a build must use the same operating system. Optionally, specify a build name and version; this metadata is stored with other properties in the build record and is displayed in the GameLift console (it is not visible to players). If successful, this action returns the newly created build record along with the Amazon S3 storage location and AWS account credentials. Use the location and credentials to upload your game build.

" }, @@ -100,48 +49,17 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"CreateFleetInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"CreateFleetOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"CreateFleetInput"}, + "output":{"shape":"CreateFleetOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"ConflictException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], - "documentation":"

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game sessions.

To create a new fleet, provide a fleet name, an EC2 instance type, and a build ID of the game build to deploy. You can also configure the new fleet with the following settings: (1) a runtime configuration describing what server processes to run on each instance in the fleet (required to create fleet), (2) access permissions for inbound traffic, (3) fleet-wide game session protection, and (4) the location of default log files for GameLift to upload and store.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks:

After a fleet is created, use the following actions to change fleet properties and configuration:

" + "documentation":"

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game sessions.

To create a new fleet, provide a fleet name, an EC2 instance type, and a build ID of the game build to deploy. You can also configure the new fleet with the following settings: (1) a runtime configuration describing what server processes to run on each instance in the fleet (required to create fleet), (2) access permissions for inbound traffic, (3) fleet-wide game session protection, and (4) the location of default log files for GameLift to upload and store.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks:

After a fleet is created, use the following actions to change fleet properties and configuration:

" }, "CreateGameSession":{ "name":"CreateGameSession", @@ -149,56 +67,19 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"CreateGameSessionInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"CreateGameSessionOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"CreateGameSessionInput"}, + "output":{"shape":"CreateGameSessionOutput"}, "errors":[ - { - "shape":"ConflictException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidFleetStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

" - }, - { - "shape":"TerminalRoutingStrategyException", - "exception":true, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"FleetCapacityExceededException", - "exception":true, - "documentation":"

The specified fleet has no available instances to fulfill a request to create a new game session. Such requests should only be retried once the fleet capacity has been increased.

" - } + {"shape":"ConflictException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InvalidFleetStatusException"}, + {"shape":"TerminalRoutingStrategyException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"FleetCapacityExceededException"}, + {"shape":"LimitExceededException"}, + {"shape":"IdempotentParameterMismatchException"} ], "documentation":"

Creates a multiplayer game session for players. This action creates a game session record and assigns the new session to an instance in the specified fleet, which initializes a new server process to host the game session. A fleet must be in an ACTIVE status before a game session can be created in it.

To create a game session, specify either a fleet ID or an alias ID and indicate the maximum number of players the game session allows. You can also provide a name and a set of properties for your game (optional). If successful, a GameSession object is returned containing session properties, including an IP address. By default, newly created game sessions are set to accept adding any new players to the game session. Use UpdateGameSession to change the creation policy.

" }, @@ -208,51 +89,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"CreatePlayerSessionInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"CreatePlayerSessionOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"CreatePlayerSessionInput"}, + "output":{"shape":"CreatePlayerSessionOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidGameSessionStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Clients should not retry such requests without resolving the conflict.

" - }, - { - "shape":"GameSessionFullException", - "exception":true, - "documentation":"

The game instance is currently full and cannot allow the requested player(s) to join. This exception occurs in response to a CreatePlayerSession request.

" - }, - { - "shape":"TerminalRoutingStrategyException", - "exception":true, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InvalidGameSessionStatusException"}, + {"shape":"GameSessionFullException"}, + {"shape":"TerminalRoutingStrategyException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"} ], "documentation":"

Adds a player to a game session and creates a player session record. A game session must be in an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot before players can be added to the session.

To create a player session, specify a game session ID and player ID. If successful, the player is added to the game session and a new PlayerSession object is returned.

" }, @@ -262,51 +108,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"CreatePlayerSessionsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"CreatePlayerSessionsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"CreatePlayerSessionsInput"}, + "output":{"shape":"CreatePlayerSessionsOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidGameSessionStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Clients should not retry such requests without resolving the conflict.

" - }, - { - "shape":"GameSessionFullException", - "exception":true, - "documentation":"

The game instance is currently full and cannot allow the requested player(s) to join. This exception occurs in response to a CreatePlayerSession request.

" - }, - { - "shape":"TerminalRoutingStrategyException", - "exception":true, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InvalidGameSessionStatusException"}, + {"shape":"GameSessionFullException"}, + {"shape":"TerminalRoutingStrategyException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"} ], "documentation":"

Adds a group of players to a game session. Similar to CreatePlayerSession, this action allows you to add multiple players in a single call, which is useful for games that provide party and/or matchmaking features. A game session must be in an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot before players can be added to the session.

To create player sessions, specify a game session ID and a list of player IDs. If successful, the players are added to the game session and a set of new PlayerSession objects is returned.

" }, @@ -316,32 +127,12 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteAliasInput", - "documentation":"

Represents the input for a request action.

" - }, + "input":{"shape":"DeleteAliasInput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"} ], "documentation":"

Deletes an alias. This action removes all record of the alias; game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.

" }, @@ -351,32 +142,12 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteBuildInput", - "documentation":"

Represents the input for a request action.

" - }, + "input":{"shape":"DeleteBuildInput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"} ], "documentation":"

Deletes a build. This action permanently deletes the build record and any uploaded build files.

To delete a build, specify its ID. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build.

" }, @@ -386,37 +157,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteFleetInput", - "documentation":"

Represents the input for a request action.

" - }, + "input":{"shape":"DeleteFleetInput"}, "errors":[ - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidFleetStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - } + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidFleetStatusException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"} ], "documentation":"

Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity.

This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use that fleet.

" }, @@ -426,34 +173,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteScalingPolicyInput", - "documentation":"

Represents the input for a request action.

" - }, + "input":{"shape":"DeleteScalingPolicyInput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"} ], - "documentation":"

Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with.

" + "documentation":"

Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with.

" }, "DescribeAlias":{ "name":"DescribeAlias", @@ -461,36 +188,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeAliasInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeAliasOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeAliasInput"}, + "output":{"shape":"DescribeAliasOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} ], "documentation":"

Retrieves properties for a specified alias. To get the alias, specify an alias ID. If successful, an Alias object is returned.

" }, @@ -500,36 +204,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeBuildInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeBuildOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeBuildInput"}, + "output":{"shape":"DescribeBuildOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} ], "documentation":"

Retrieves properties for a build. To get a build record, specify a build ID. If successful, an object containing the build properties is returned.

" }, @@ -539,33 +220,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeEC2InstanceLimitsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeEC2InstanceLimitsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeEC2InstanceLimitsInput"}, + "output":{"shape":"DescribeEC2InstanceLimitsOutput"}, "errors":[ - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves the following information for the specified EC2 instance type:

Service limits vary depending on region. Available regions for GameLift can be found in the AWS Management Console for GameLift (see the drop-down list in the upper right corner).

" + "documentation":"

Retrieves the following information for the specified EC2 instance type:

Service limits vary depending on region. Available regions for GameLift can be found in the AWS Management Console for GameLift (see the drop-down list in the upper right corner).

" }, "DescribeFleetAttributes":{ "name":"DescribeFleetAttributes", @@ -573,36 +235,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeFleetAttributesInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeFleetAttributesOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeFleetAttributesInput"}, + "output":{"shape":"DescribeFleetAttributesOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Retrieves fleet properties, including metadata, status, and configuration, for one or more fleets. You can request attributes for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetAttributes object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

" }, @@ -612,36 +251,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeFleetCapacityInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeFleetCapacityOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeFleetCapacityInput"}, + "output":{"shape":"DescribeFleetCapacityOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Retrieves the current status of fleet capacity for one or more fleets. This information includes the number of instances that have been requested for the fleet and the number currently active. You can request capacity for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetCapacity object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

" }, @@ -651,36 +267,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeFleetEventsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeFleetEventsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeFleetEventsInput"}, + "output":{"shape":"DescribeFleetEventsOutput"}, "errors":[ - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - } + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"} ], "documentation":"

Retrieves entries from the specified fleet's event log. You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event log entries matching the request are returned.

" }, @@ -690,36 +283,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeFleetPortSettingsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeFleetPortSettingsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeFleetPortSettingsInput"}, + "output":{"shape":"DescribeFleetPortSettingsOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Retrieves the inbound connection permissions for a fleet. Connection permissions include a range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. To get a fleet's inbound connection permissions, specify a fleet ID. If successful, a collection of IpPermission objects is returned for the requested fleet ID. If the requested fleet has been deleted, the result set is empty.

" }, @@ -729,36 +299,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeFleetUtilizationInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeFleetUtilizationOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeFleetUtilizationInput"}, + "output":{"shape":"DescribeFleetUtilizationOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Retrieves utilization statistics for one or more fleets. You can request utilization data for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetUtilization object is returned for each requested fleet ID. When specifying a list of fleet IDs, utilization objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

" }, @@ -768,41 +315,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeGameSessionDetailsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeGameSessionDetailsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeGameSessionDetailsInput"}, + "output":{"shape":"DescribeGameSessionDetailsOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"TerminalRoutingStrategyException", - "exception":true, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TerminalRoutingStrategyException"} ], "documentation":"

Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId to request details for a specific game session; (2) provide either a FleetId or an AliasId to request properties for all game sessions running on a fleet.

To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionDetail object is returned for each session matching the request.

" }, @@ -812,43 +332,32 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeGameSessionsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeGameSessionsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeGameSessionsInput"}, + "output":{"shape":"DescribeGameSessionsOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"TerminalRoutingStrategyException", - "exception":true, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TerminalRoutingStrategyException"} ], - "documentation":"

Retrieves properties for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId to request properties for a specific game session; (2) provide a FleetId or an AliasId to request properties for all game sessions running on a fleet.

To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each session matching the request.

" + "documentation":"

Retrieves a set of one or more game sessions and properties. This action can be used in several ways: (1) provide a GameSessionId to request properties for a specific game session; (2) provide a FleetId or an AliasId to request properties for all game sessions running on a fleet. You can also use SearchGameSessions, which allows you to retrieve all game sessions or filter on certain criteria, but only returns game sessions with a status of ACTIVE. If you need to retrieve the protection policy for each game session, use DescribeGameSessionDetails.

To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each session matching the request.

" + }, + "DescribeInstances":{ + "name":"DescribeInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstancesInput"}, + "output":{"shape":"DescribeInstancesOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves information about instances in a fleet.

To get information on a specific instance, specify both a fleet ID and instance ID. To get information for all instances in a fleet, specify a fleet ID only. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, an Instance object is returned for each result.

" }, "DescribePlayerSessions":{ "name":"DescribePlayerSessions", @@ -856,36 +365,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribePlayerSessionsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribePlayerSessionsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribePlayerSessionsInput"}, + "output":{"shape":"DescribePlayerSessionsOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId parameter to request properties for a specific player session; (2) provide a GameSessionId parameter to request properties for all player sessions in the specified game session; (3) provide a PlayerId parameter to request properties for all player sessions of a specified player.

To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request.

" }, @@ -895,36 +381,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeRuntimeConfigurationInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeRuntimeConfigurationOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeRuntimeConfigurationInput"}, + "output":{"shape":"DescribeRuntimeConfigurationOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"} ], "documentation":"

Retrieves the current runtime configuration for the specified fleet. The runtime configuration tells GameLift how to launch server processes on instances in the fleet.

" }, @@ -934,38 +397,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeScalingPoliciesInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"DescribeScalingPoliciesOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"DescribeScalingPoliciesInput"}, + "output":{"shape":"DescribeScalingPoliciesOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"} ], - "documentation":"

Retrieves all scaling policies applied to a fleet.

To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of ScalingPolicy objects is returned for the fleet.

" + "documentation":"

Retrieves all scaling policies applied to a fleet.

To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of ScalingPolicy objects is returned for the fleet.

" }, "GetGameSessionLogUrl":{ "name":"GetGameSessionLogUrl", @@ -973,36 +413,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"GetGameSessionLogUrlInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"GetGameSessionLogUrlOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"GetGameSessionLogUrlInput"}, + "output":{"shape":"GetGameSessionLogUrlOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"} ], "documentation":"

Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3. Use this URL to download the logs.

See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.

" }, @@ -1012,33 +429,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListAliasesInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"ListAliasesOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"ListAliasesInput"}, + "output":{"shape":"ListAliasesOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves a collection of alias records for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.

Aliases are not listed in any particular order.

" + "documentation":"

Retrieves a collection of alias records for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.

Aliases are not listed in any particular order.

" }, "ListBuilds":{ "name":"ListBuilds", @@ -1046,31 +444,12 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListBuildsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"ListBuildsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"ListBuildsInput"}, + "output":{"shape":"ListBuildsOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"} ], "documentation":"

Retrieves build records for all builds associated with the AWS account in use. You can limit results to builds that are in a specific status by using the Status parameter. Use the pagination parameters to retrieve results in a set of sequential pages.

Build records are not listed in any particular order.

" }, @@ -1080,38 +459,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListFleetsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"ListFleetsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"ListFleetsInput"}, + "output":{"shape":"ListFleetsOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves a collection of fleet records for this AWS account. You can filter the result set by build ID. Use the pagination parameters to retrieve results in sequential pages.

Fleet records are not listed in any particular order.

" + "documentation":"

Retrieves a collection of fleet records for this AWS account. You can filter the result set by build ID. Use the pagination parameters to retrieve results in sequential pages.

Fleet records are not listed in any particular order.

" }, "PutScalingPolicy":{ "name":"PutScalingPolicy", @@ -1119,38 +475,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"PutScalingPolicyInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"PutScalingPolicyOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"PutScalingPolicyInput"}, + "output":{"shape":"PutScalingPolicyOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - } + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"} ], - "documentation":"

Creates or updates a scaling policy for a fleet. An active scaling policy prompts Amazon GameLift to track a certain metric for a fleet and automatically change the fleet's capacity in specific circumstances. Each scaling policy contains one rule statement. Fleets can have multiple scaling policies in force simultaneously.

A scaling policy rule statement has the following structure:

If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].

For example, this policy: \"If the number of idle instances exceeds 20 for more than 15 minutes, then reduce the fleet capacity by 10 instances\" could be implemented as the following rule statement:

If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15] minutes, then [ChangeInCapacity] by [-10].

To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the rule values. All parameters for this action are required. If successful, the policy name is returned. Scaling policies cannot be suspended or made inactive. To stop enforcing a scaling policy, call DeleteScalingPolicy.

" + "documentation":"

Creates or updates a scaling policy for a fleet. An active scaling policy prompts Amazon GameLift to track a certain metric for a fleet and automatically change the fleet's capacity in specific circumstances. Each scaling policy contains one rule statement. Fleets can have multiple scaling policies in force simultaneously.

A scaling policy rule statement has the following structure:

If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].

For example, this policy: \"If the number of idle instances exceeds 20 for more than 15 minutes, then reduce the fleet capacity by 10 instances\" could be implemented as the following rule statement:

If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15] minutes, then [ChangeInCapacity] by [-10].

To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the rule values. All parameters for this action are required. If successful, the policy name is returned. Scaling policies cannot be suspended or made inactive. To stop enforcing a scaling policy, call DeleteScalingPolicy.

" }, "RequestUploadCredentials":{ "name":"RequestUploadCredentials", @@ -1158,38 +491,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"RequestUploadCredentialsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"RequestUploadCredentialsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"RequestUploadCredentialsInput"}, + "output":{"shape":"RequestUploadCredentialsOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. Valid credentials are required to upload your game build files to Amazon S3.

Call this action only if you need credentials for a build created with CreateBuild. This is a rare situation; in most cases, builds are created using the CLI command upload-build, which creates a build record and also uploads build files.

Upload credentials are returned when you create the build, but they have a limited lifespan. You can get fresh credentials and use them to re-upload game files until the status of that build changes to READY. Once this happens, you must create a brand new build.

" + "documentation":"

Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. Valid credentials are required to upload your game build files to Amazon S3.

Call this action only if you need credentials for a build created with CreateBuild . This is a rare situation; in most cases, builds are created using the CLI command upload-build, which creates a build record and also uploads build files.

Upload credentials are returned when you create the build, but they have a limited lifespan. You can get fresh credentials and use them to re-upload game files until the status of that build changes to READY. Once this happens, you must create a brand new build.

" }, "ResolveAlias":{ "name":"ResolveAlias", @@ -1197,43 +507,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ResolveAliasInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"ResolveAliasOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"ResolveAliasInput"}, + "output":{"shape":"ResolveAliasOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"TerminalRoutingStrategyException", - "exception":true, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"TerminalRoutingStrategyException"}, + {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves the fleet ID that a specified alias is currently pointing to.

" + "documentation":"

Retrieves the fleet ID that a specified alias is currently pointing to.

" }, "SearchGameSessions":{ "name":"SearchGameSessions", @@ -1241,43 +524,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"SearchGameSessionsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"SearchGameSessionsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"SearchGameSessionsInput"}, + "output":{"shape":"SearchGameSessionsOutput"}, "errors":[ - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"TerminalRoutingStrategyException", - "exception":true, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

" - } + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TerminalRoutingStrategyException"} ], - "documentation":"

Retrieves a list of game sessions in a fleet that match a set of search criteria and sorts them in a specified order. Currently game session searches are limited to a single fleet. Search results include only game sessions that are in ACTIVE status.

You can search or sort by the following game session attributes:

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of GameSession objects matching the request is returned.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

" + "documentation":"

Retrieves a set of game sessions that match a set of search criteria and sorts them in a specified order. Currently a game session search is limited to a single fleet. Search results include only game sessions that are in ACTIVE status. If you need to retrieve game sessions with a status other than active, use DescribeGameSessions. If you need to retrieve the protection policy for each game session, use DescribeGameSessionDetails.

You can search or sort by the following game session attributes:

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of GameSession objects matching the request is returned.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

" }, "UpdateAlias":{ "name":"UpdateAlias", @@ -1285,36 +541,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateAliasInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"UpdateAliasOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"UpdateAliasInput"}, + "output":{"shape":"UpdateAliasOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} ], "documentation":"

Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

" }, @@ -1324,38 +557,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateBuildInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"UpdateBuildOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"UpdateBuildInput"}, + "output":{"shape":"UpdateBuildOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} ], - "documentation":"

Updates metadata in a build record, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.

" + "documentation":"

Updates metadata in a build record, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.

" }, "UpdateFleetAttributes":{ "name":"UpdateFleetAttributes", @@ -1363,51 +573,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateFleetAttributesInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"UpdateFleetAttributesOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"UpdateFleetAttributesInput"}, + "output":{"shape":"UpdateFleetAttributesOutput"}, "errors":[ - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"ConflictException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" - }, - { - "shape":"InvalidFleetStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidFleetStatusException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values you want to change. If successful, the fleet ID for the updated fleet is returned.

" }, @@ -1417,51 +592,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateFleetCapacityInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"UpdateFleetCapacityOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"UpdateFleetCapacityInput"}, + "output":{"shape":"UpdateFleetCapacityOutput"}, "errors":[ - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"ConflictException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

" - }, - { - "shape":"InvalidFleetStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidFleetStatusException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to get the maximum capacity based on the fleet's EC2 instance type.

If you're using autoscaling (see PutScalingPolicy), you may want to specify a minimum and/or maximum capacity. If you don't provide these, autoscaling can set capacity anywhere between zero and the service limits.

To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling DescribeFleetCapacity. If the desired instance count is higher than the instance type's limit, the \"Limit Exceeded\" exception occurs.

" }, @@ -1471,51 +611,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateFleetPortSettingsInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"UpdateFleetPortSettingsOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"UpdateFleetPortSettingsInput"}, + "output":{"shape":"UpdateFleetPortSettingsOutput"}, "errors":[ - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"ConflictException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" - }, - { - "shape":"InvalidFleetStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - } + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidFleetStatusException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in InboundPermissionAuthorizations, and permissions you want to remove in InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned.

" }, @@ -1525,46 +630,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateGameSessionInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"UpdateGameSessionOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"UpdateGameSessionInput"}, + "output":{"shape":"UpdateGameSessionOutput"}, "errors":[ - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"ConflictException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"InvalidGameSessionStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Clients should not retry such requests without resolving the conflict.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - } + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InvalidGameSessionStatusException"}, + {"shape":"InvalidRequestException"} ], "documentation":"

Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated GameSession object is returned.

" }, @@ -1574,41 +648,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateRuntimeConfigurationInput", - "documentation":"

Represents the input for a request action.

" - }, - "output":{ - "shape":"UpdateRuntimeConfigurationOutput", - "documentation":"

Represents the returned data in response to a request action.

" - }, + "input":{"shape":"UpdateRuntimeConfigurationInput"}, + "output":{"shape":"UpdateRuntimeConfigurationOutput"}, "errors":[ - { - "shape":"UnauthorizedException", - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" - }, - { - "shape":"NotFoundException", - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" - }, - { - "shape":"InternalServiceException", - "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" - }, - { - "shape":"InvalidFleetStatusException", - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

" - } + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidFleetStatusException"} ], "documentation":"

Updates the current runtime configuration for the specified fleet, which tells GameLift how to launch server processes on instances in the fleet. You can update a fleet's runtime configuration at any time after the fleet is created; it does not need to be in an ACTIVE status.

To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration object with the updated collection of server process configurations.

Each instance in a GameLift fleet checks regularly for an updated runtime configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; they continue to run until they end, while GameLift simply adds new server processes to fit the current runtime configuration. As a result, the runtime configuration changes are applied gradually as existing processes shut down and new processes are launched in GameLift's normal process recycling activity.

" } @@ -1622,7 +669,7 @@ "documentation":"

Unique identifier for a fleet alias.

" }, "Name":{ - "shape":"FreeText", + "shape":"NonBlankAndLengthConstraintString", "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" }, "Description":{ @@ -1649,6 +696,12 @@ "type":"list", "member":{"shape":"Alias"} }, + "ArnStringModel":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9:/-]+" + }, "AwsCredentials":{ "type":"structure", "members":{ @@ -1665,8 +718,8 @@ "documentation":"

Token specific to a build ID.

" } }, - "sensitive":true, - "documentation":"

AWS access credentials required to upload game build files to Amazon GameLift. These credentials are generated with CreateBuild, and are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

" + "documentation":"

AWS access credentials required to upload game build files to Amazon GameLift. These credentials are generated with CreateBuild, and are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

", + "sensitive":true }, "Build":{ "type":"structure", @@ -1685,7 +738,7 @@ }, "Status":{ "shape":"BuildStatus", - "documentation":"

Current status of the build.

Possible build statuses include the following:

" + "documentation":"

Current status of the build.

Possible build statuses include the following:

" }, "SizeOnDisk":{ "shape":"PositiveLong", @@ -1732,8 +785,8 @@ "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

" + "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

", + "exception":true }, "CreateAliasInput":{ "type":"structure", @@ -1743,7 +796,7 @@ ], "members":{ "Name":{ - "shape":"NonZeroAndMaxString", + "shape":"NonBlankAndLengthConstraintString", "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" }, "Description":{ @@ -1772,11 +825,11 @@ "members":{ "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a build. Build names do not need to be unique. A build name can be changed later using UpdateBuild.

" + "documentation":"

Descriptive label associated with a build. Build names do not need to be unique. A build name can be changed later using UpdateBuild .

" }, "Version":{ "shape":"NonZeroAndMaxString", - "documentation":"

Version associated with this build. Version strings do not need to be unique to a build. A build version can be changed later using UpdateBuild.

" + "documentation":"

Version associated with this build. Version strings do not need to be unique to a build. A build version can be changed later using UpdateBuild .

" }, "StorageLocation":{"shape":"S3Location"}, "OperatingSystem":{ @@ -1795,7 +848,7 @@ }, "UploadCredentials":{ "shape":"AwsCredentials", - "documentation":"

AWS credentials required when uploading a game build to the storage location. These credentials have a limited lifespan and are valid only for the build they were issued for. If you need to get fresh credentials, call RequestUploadCredentials.

" + "documentation":"

AWS credentials required when uploading a game build to the storage location. These credentials have a limited lifespan and are valid only for the build they were issued for. If you need to get fresh credentials, call RequestUploadCredentials .

" }, "StorageLocation":{ "shape":"S3Location", @@ -1838,7 +891,7 @@ }, "EC2InstanceType":{ "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" + "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" }, "EC2InboundPermissions":{ "shape":"IpPermissionsList", @@ -1846,11 +899,15 @@ }, "NewGameSessionProtectionPolicy":{ "shape":"ProtectionPolicy", - "documentation":"

Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using UpdateGameSession.

" + "documentation":"

Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using UpdateGameSession.

" }, "RuntimeConfiguration":{ "shape":"RuntimeConfiguration", "documentation":"

Instructions for launching server processes on each instance in the fleet. The runtime configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance. A CreateFleet request must include a runtime configuration with at least one server process configuration; otherwise the request will fail with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters; requests that contain values for these parameters instead of a runtime configuration will continue to work.)

" + }, + "ResourceCreationLimitPolicy":{ + "shape":"ResourceCreationLimitPolicy", + "documentation":"

Policy that limits the number of game sessions an individual player can create over a span of time for this fleet.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1879,7 +936,7 @@ }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", - "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" + "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" }, "Name":{ "shape":"NonZeroAndMaxString", @@ -1887,7 +944,15 @@ }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of properties used to administer a game session. These properties are passed to the server process hosting it.

" + "documentation":"

Set of properties used to administer a game session. These properties are passed to the server process hosting it.

" + }, + "CreatorId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Player ID identifying the person or entity creating the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have.

" + }, + "GameSessionId":{ + "shape":"IdStringModel", + "documentation":"

Custom string to include in the game session ID, with a maximum length of 48 characters. If this parameter is set, GameLift creates a game session ID in the following format: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<custom ID string>\". For example, this full game session ID: \"arn:aws:gamelift:us-west-2::gamesession/fleet-2ec2aae5-c2c7-43ca-b19d-8249fe5fddf2/my-game-session\" includes the custom ID string \"my-game-session\". If this parameter is not set, GameLift creates a game session ID in the same format with an auto-generated ID string.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1910,8 +975,8 @@ ], "members":{ "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session. Specify the game session you want to add a player to.

" + "shape":"ArnStringModel", + "documentation":"

Unique identifier for the game session to add a player to. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an auto-generated string.

" }, "PlayerId":{ "shape":"NonZeroAndMaxString", @@ -1938,8 +1003,8 @@ ], "members":{ "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session.

" + "shape":"ArnStringModel", + "documentation":"

Unique identifier for the game session to add players to. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an auto-generated string.

" }, "PlayerIds":{ "shape":"PlayerIdList", @@ -1964,7 +1029,7 @@ "members":{ "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to delete.

" + "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to delete.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1975,7 +1040,7 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier for the build you want to delete.

" + "documentation":"

Unique identifier for the build you want to delete.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2015,7 +1080,7 @@ "members":{ "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to retrieve.

" + "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to retrieve.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2036,7 +1101,7 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier of the build that you want to retrieve properties for.

" + "documentation":"

Unique identifier of the build that you want to retrieve properties for.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2056,7 +1121,7 @@ "members":{ "EC2InstanceType":{ "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions. Leave this parameter blank to retrieve limits for all types.

" + "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions. Leave this parameter blank to retrieve limits for all types.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2094,11 +1159,11 @@ "members":{ "FleetAttributes":{ "shape":"FleetAttributesList", - "documentation":"

Collection of objects containing attribute metadata for each requested fleet ID.

" + "documentation":"

Collection of objects containing attribute metadata for each requested fleet ID.

" }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2130,7 +1195,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2141,7 +1206,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet to get event logs for.

" + "documentation":"

Unique identifier for the fleet to get event logs for.

" }, "StartTime":{ "shape":"Timestamp", @@ -2171,7 +1236,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2182,7 +1247,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to retrieve port settings for.

" + "documentation":"

Unique identifier for the fleet you want to retrieve port settings for.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2224,7 +1289,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2237,8 +1302,8 @@ "documentation":"

Unique identifier for a fleet. Specify a fleet to retrieve information on all game sessions active on the fleet.

" }, "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session. Specify the game session to retrieve information on.

" + "shape":"ArnStringModel", + "documentation":"

Unique identifier for the game session to retrieve information on. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an auto-generated string.

" }, "AliasId":{ "shape":"AliasId", @@ -2268,7 +1333,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2281,8 +1346,8 @@ "documentation":"

Unique identifier for a fleet. Specify a fleet to retrieve information on all game sessions active on the fleet.

" }, "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session. Specify the game session to retrieve information on.

" + "shape":"ArnStringModel", + "documentation":"

Unique identifier for the game session to retrieve information on. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an auto-generated string.

" }, "AliasId":{ "shape":"AliasId", @@ -2312,7 +1377,44 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeInstancesInput":{ + "type":"structure", + "required":["FleetId"], + "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

Unique identifier for a fleet. Specify the fleet to retrieve instance information for.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

Unique identifier for an instance. Specify an instance to retrieve information for or leave blank to get information on all instances in the fleet.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeInstancesOutput":{ + "type":"structure", + "members":{ + "Instances":{ + "shape":"InstanceList", + "documentation":"

Collection of objects containing properties for each instance returned.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2321,8 +1423,8 @@ "type":"structure", "members":{ "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session.

" + "shape":"ArnStringModel", + "documentation":"

Unique identifier for the game session to get player sessions for.Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an auto-generated string.

" }, "PlayerId":{ "shape":"NonZeroAndMaxString", @@ -2334,7 +1436,7 @@ }, "PlayerSessionStatusFilter":{ "shape":"NonZeroAndMaxString", - "documentation":"

Player session status to filter results on.

Possible player session statuses include the following:

" + "documentation":"

Player session status to filter results on.

Possible player session statuses include the following:

" }, "Limit":{ "shape":"PositiveInteger", @@ -2356,7 +1458,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2392,7 +1494,7 @@ }, "StatusFilter":{ "shape":"ScalingStatusType", - "documentation":"

Scaling policy status to filter results on. A scaling policy is only in force when in an ACTIVE status.

" + "documentation":"

Scaling policy status to filter results on. A scaling policy is only in force when in an ACTIVE status.

" }, "Limit":{ "shape":"PositiveInteger", @@ -2414,7 +1516,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2449,7 +1551,7 @@ }, "TERMINATING":{ "shape":"WholeNumber", - "documentation":"

Number of instances in the fleet that are no longer active but haven't yet been terminated.

" + "documentation":"

Number of instances in the fleet that are no longer active but haven't yet been terminated.

" } }, "documentation":"

Current status of fleet capacity. The number of active instances should match or be in the process of matching the number of desired instances. Pending and terminating counts are non-zero only if fleet capacity is adjusting to an UpdateFleetCapacity request, or if access to resources is temporarily affected.

" @@ -2459,11 +1561,11 @@ "members":{ "EC2InstanceType":{ "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" + "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" }, "CurrentInstances":{ "shape":"WholeNumber", - "documentation":"

Number of instances of the specified type that are currently in use by this AWS account.

" + "documentation":"

Number of instances of the specified type that are currently in use by this AWS account.

" }, "InstanceLimit":{ "shape":"WholeNumber", @@ -2587,7 +1689,7 @@ }, "Status":{ "shape":"FleetStatus", - "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

" + "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

" }, "BuildId":{ "shape":"BuildId", @@ -2595,11 +1697,11 @@ }, "ServerLaunchPath":{ "shape":"NonZeroAndMaxString", - "documentation":"

Path to a game server executable in the fleet's build, specified for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration.

" + "documentation":"

Path to a game server executable in the fleet's build, specified for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration .

" }, "ServerLaunchParameters":{ "shape":"NonZeroAndMaxString", - "documentation":"

Game server launch parameters specified for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's RuntimeConfiguration.

" + "documentation":"

Game server launch parameters specified for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's RuntimeConfiguration .

" }, "LogPaths":{ "shape":"StringList", @@ -2607,11 +1709,15 @@ }, "NewGameSessionProtectionPolicy":{ "shape":"ProtectionPolicy", - "documentation":"

Type of game session protection to set for all new instances started in the fleet.

" + "documentation":"

Type of game session protection to set for all new instances started in the fleet.

" }, "OperatingSystem":{ "shape":"OperatingSystem", "documentation":"

Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.

" + }, + "ResourceCreationLimitPolicy":{ + "shape":"ResourceCreationLimitPolicy", + "documentation":"

Fleet policy to limit the number of game sessions an individual player can create over a span of time.

" } }, "documentation":"

General properties describing a fleet.

" @@ -2629,7 +1735,7 @@ }, "InstanceType":{ "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" + "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" }, "InstanceCounts":{ "shape":"EC2InstanceCounts", @@ -2643,8 +1749,8 @@ "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

The specified fleet has no available instances to fulfill a request to create a new game session. Such requests should only be retried once the fleet capacity has been increased.

" + "documentation":"

The specified fleet has no available instances to fulfill a CreateGameSession request. Clients can retry such requests immediately or after a waiting period.

", + "exception":true }, "FleetCapacityList":{ "type":"list", @@ -2711,8 +1817,14 @@ "Value" ], "members":{ - "Key":{"shape":"GamePropertyKey"}, - "Value":{"shape":"GamePropertyValue"} + "Key":{ + "shape":"GamePropertyKey", + "documentation":"

TBD

" + }, + "Value":{ + "shape":"GamePropertyValue", + "documentation":"

TBD

" + } }, "documentation":"

Set of key-value pairs containing information a server process requires to set up a game session. This object allows you to pass in any set of data needed for your game. For more information, see the Amazon GameLift Developer Guide.

" }, @@ -2733,8 +1845,8 @@ "type":"structure", "members":{ "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session.

" + "shape":"NonZeroAndMaxString", + "documentation":"

Unique identifier for a game session. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an auto-generated string.

" }, "Name":{ "shape":"NonZeroAndMaxString", @@ -2779,6 +1891,10 @@ "PlayerSessionCreationPolicy":{ "shape":"PlayerSessionCreationPolicy", "documentation":"

Indicates whether or not the game session is accepting new players.

" + }, + "CreatorId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Player ID of the person or entity that created the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have.

" } }, "documentation":"

Properties describing a game session.

" @@ -2789,7 +1905,7 @@ "GameSession":{"shape":"GameSession"}, "ProtectionPolicy":{ "shape":"ProtectionPolicy", - "documentation":"

Current status of protection for the game session.

" + "documentation":"

Current status of protection for the game session.

" } }, "documentation":"

A game session's properties and the protection policy currently in force.

" @@ -2803,12 +1919,8 @@ "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

The game instance is currently full and cannot allow the requested player(s) to join. This exception occurs in response to a CreatePlayerSession request.

" - }, - "GameSessionId":{ - "type":"string", - "pattern":"^(gamei-|gsess-)\\S+" + "documentation":"

The game instance is currently full and cannot allow the requested player(s) to join. Clients can retry such requests immediately or after a waiting period.

", + "exception":true }, "GameSessionList":{ "type":"list", @@ -2820,7 +1932,8 @@ "ACTIVE", "ACTIVATING", "TERMINATED", - "TERMINATING" + "TERMINATING", + "ERROR" ] }, "GetGameSessionLogUrlInput":{ @@ -2828,8 +1941,8 @@ "required":["GameSessionId"], "members":{ "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session. Specify the game session you want to get logs for.

" + "shape":"ArnStringModel", + "documentation":"

Unique identifier for the game session to get logs for. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an auto-generated string.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2844,39 +1957,103 @@ }, "documentation":"

Represents the returned data in response to a request action.

" }, + "IdStringModel":{ + "type":"string", + "max":48, + "min":1, + "pattern":"[a-zA-Z0-9-]+" + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"} + }, + "documentation":"

A game session with this custom ID string already exists in this fleet. Resolve this conflict before retrying this request.

", + "exception":true + }, + "Instance":{ + "type":"structure", + "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

Unique identifier for the fleet that the instance belongs to.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

Unique identifier for the instance.

" + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

IP address assigned to the instance.

" + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

Operating system being used on this instance.

" + }, + "Type":{ + "shape":"EC2InstanceType", + "documentation":"

EC2 instance type that defines the computing resources of this instance.

" + }, + "Status":{ + "shape":"InstanceStatus", + "documentation":"

Current status of the instance. Possible statuses include the following:

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + } + }, + "documentation":"

Properties describing an instance of a virtual computing resource that is hosting game servers. Fleets contain zero or more instances.

" + }, + "InstanceId":{ + "type":"string", + "pattern":"[a-zA-Z0-9\\.-]+" + }, + "InstanceList":{ + "type":"list", + "member":{"shape":"Instance"} + }, + "InstanceStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACTIVE", + "TERMINATING" + ] + }, "Integer":{"type":"integer"}, "InternalServiceException":{ "type":"structure", "members":{ "Message":{"shape":"NonEmptyString"} }, + "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.

", "exception":true, - "fault":true, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests, either immediately or after a back-off period.

" + "fault":true }, "InvalidFleetStatusException":{ "type":"structure", "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

" + "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

", + "exception":true }, "InvalidGameSessionStatusException":{ "type":"structure", "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Clients should not retry such requests without resolving the conflict.

" + "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Resolve the conflict before retrying.

", + "exception":true }, "InvalidRequestException":{ "type":"structure", "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

One or more parameters specified as part of the request are invalid. Correct the invalid parameters before retrying.

" + "documentation":"

One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.

", + "exception":true }, "IpAddress":{"type":"string"}, "IpPermission":{ @@ -2890,7 +2067,7 @@ "members":{ "FromPort":{ "shape":"PortNumber", - "documentation":"

Starting value for a range of allowed port numbers.

" + "documentation":"

Starting value for a range of allowed port numbers.

" }, "ToPort":{ "shape":"PortNumber", @@ -2924,15 +2101,15 @@ "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

" + "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

", + "exception":true }, "ListAliasesInput":{ "type":"structure", "members":{ "RoutingStrategyType":{ "shape":"RoutingStrategyType", - "documentation":"

Type of routing to filter results on. Use this parameter to retrieve only aliases of a certain type. To retrieve all aliases, leave this parameter empty.

Possible routing types include the following:

" + "documentation":"

Type of routing to filter results on. Use this parameter to retrieve only aliases of a certain type. To retrieve all aliases, leave this parameter empty.

Possible routing types include the following:

" }, "Name":{ "shape":"NonEmptyString", @@ -2954,11 +2131,11 @@ "members":{ "Aliases":{ "shape":"AliasList", - "documentation":"

Collection of alias records that match the list request.

" + "documentation":"

Collection of alias records that match the list request.

" }, "NextToken":{ "shape":"NonEmptyString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2968,7 +2145,7 @@ "members":{ "Status":{ "shape":"BuildStatus", - "documentation":"

Build status to filter results by. To retrieve all builds, leave this parameter empty.

Possible build statuses include the following:

" + "documentation":"

Build status to filter results by. To retrieve all builds, leave this parameter empty.

Possible build statuses include the following:

" }, "Limit":{ "shape":"PositiveInteger", @@ -2986,11 +2163,11 @@ "members":{ "Builds":{ "shape":"BuildList", - "documentation":"

Collection of build records that match the request.

" + "documentation":"

Collection of build records that match the request.

" }, "NextToken":{ "shape":"NonEmptyString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -3022,7 +2199,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -3038,6 +2215,12 @@ "IdleInstances" ] }, + "NonBlankAndLengthConstraintString":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*\\S.*" + }, "NonBlankString":{ "type":"string", "pattern":"[^\\s]+" @@ -3048,16 +2231,16 @@ }, "NonZeroAndMaxString":{ "type":"string", - "min":1, - "max":1024 + "max":1024, + "min":1 }, "NotFoundException":{ "type":"structure", "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests

" + "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests.

", + "exception":true }, "OperatingSystem":{ "type":"string", @@ -3069,8 +2252,8 @@ "PlayerIdList":{ "type":"list", "member":{"shape":"NonZeroAndMaxString"}, - "min":1, - "max":25 + "max":25, + "min":1 }, "PlayerSession":{ "type":"structure", @@ -3084,8 +2267,8 @@ "documentation":"

Unique identifier for a player.

" }, "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session.

" + "shape":"NonZeroAndMaxString", + "documentation":"

Unique identifier for the game session that the player session is connected to.

" }, "FleetId":{ "shape":"FleetId", @@ -3101,11 +2284,11 @@ }, "Status":{ "shape":"PlayerSessionStatus", - "documentation":"

Current status of the player session.

Possible player session statuses include the following:

" + "documentation":"

Current status of the player session.

Possible player session statuses include the following:

" }, "IpAddress":{ "shape":"IpAddress", - "documentation":"

Game session IP address. All player sessions reference the game session location.

" + "documentation":"

Game session IP address. All player sessions reference the game session location.

" }, "Port":{ "shape":"PortNumber", @@ -3140,8 +2323,8 @@ }, "PortNumber":{ "type":"integer", - "min":1025, - "max":60000 + "max":60000, + "min":1 }, "PositiveInteger":{ "type":"integer", @@ -3185,7 +2368,7 @@ }, "ScalingAdjustmentType":{ "shape":"ScalingAdjustmentType", - "documentation":"

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

" + "documentation":"

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

" }, "Threshold":{ "shape":"Double", @@ -3193,7 +2376,7 @@ }, "ComparisonOperator":{ "shape":"ComparisonOperatorType", - "documentation":"

Comparison operator to use when measuring the metric against the threshold value.

" + "documentation":"

Comparison operator to use when measuring the metric against the threshold value.

" }, "EvaluationPeriods":{ "shape":"PositiveInteger", @@ -3201,7 +2384,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

" + "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

" } }, "documentation":"

Represents the input for a request action.

" @@ -3222,7 +2405,7 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier for the build you want to get credentials for.

" + "documentation":"

Unique identifier for the build you want to get credentials for.

" } }, "documentation":"

Represents the input for a request action.

" @@ -3247,7 +2430,7 @@ "members":{ "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for the alias you want to resolve.

" + "documentation":"

Unique identifier for the alias you want to resolve.

" } }, "documentation":"

Represents the input for a request action.

" @@ -3262,12 +2445,26 @@ }, "documentation":"

Represents the returned data in response to a request action.

" }, + "ResourceCreationLimitPolicy":{ + "type":"structure", + "members":{ + "NewGameSessionsPerCreator":{ + "shape":"WholeNumber", + "documentation":"

Maximum number of game sessions an individual can create during the policy period.

" + }, + "PolicyPeriodInMinutes":{ + "shape":"WholeNumber", + "documentation":"

Time span used to evaluate the resource creation limit policy.

" + } + }, + "documentation":"

Policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".

The policy is evaluated when a player tries to create a new game session. For example, with a policy of 10 new game sessions and a time period of 60 minutes, on receiving a CreateGameSession request, GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.

" + }, "RoutingStrategy":{ "type":"structure", "members":{ "Type":{ "shape":"RoutingStrategyType", - "documentation":"

Type of routing strategy.

Possible routing types include the following:

" + "documentation":"

Type of routing strategy.

Possible routing types include the following:

" }, "FleetId":{ "shape":"FleetId", @@ -3278,7 +2475,7 @@ "documentation":"

Message text to be used with a terminal routing strategy.

" } }, - "documentation":"

Routing configuration for a fleet alias.

" + "documentation":"

Routing configuration for a fleet alias.

" }, "RoutingStrategyType":{ "type":"string", @@ -3292,10 +2489,10 @@ "members":{ "ServerProcesses":{ "shape":"ServerProcessList", - "documentation":"

Collection of server process configurations describing what server processes to run on each instance in a fleet

" + "documentation":"

Collection of server process configurations describing what server processes to run on each instance in a fleet

" } }, - "documentation":"

Collection of server process configurations that describe what processes should be run on each instance in a fleet. An instance can launch and maintain multiple server processes based on the runtime configuration; it regularly checks for an updated runtime configuration and starts new server processes to match the latest version.

The key purpose of a runtime configuration with multiple server process configurations is to be able to run more than one kind of game server in a single fleet. You can include configurations for more than one server executable in order to run two or more different programs to run on the same instance. This option might be useful, for example, to run more than one version of your game server on the same fleet. Another option is to specify configurations for the same server executable but with different launch parameters.

A GameLift instance is limited to 50 processes running simultaneously. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.

" + "documentation":"

Collection of server process configurations that describe what processes should be run on each instance in a fleet. An instance can launch and maintain multiple server processes based on the runtime configuration; it regularly checks for an updated runtime configuration and starts new server processes to match the latest version.

The key purpose of a runtime configuration with multiple server process configurations is to be able to run more than one kind of game server in a single fleet. You can include configurations for more than one server executable in order to run two or more different programs to run on the same instance. This option might be useful, for example, to run more than one version of your game server on the same fleet. Another option is to specify configurations for the same server executable but with different launch parameters.

A GameLift instance is limited to 50 processes running simultaneously. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.

" }, "S3Location":{ "type":"structure", @@ -3336,7 +2533,7 @@ }, "Status":{ "shape":"ScalingStatusType", - "documentation":"

Current status of the scaling policy. The scaling policy is only in force when in an ACTIVE status.

" + "documentation":"

Current status of the scaling policy. The scaling policy is only in force when in an ACTIVE status.

" }, "ScalingAdjustment":{ "shape":"Integer", @@ -3344,11 +2541,11 @@ }, "ScalingAdjustmentType":{ "shape":"ScalingAdjustmentType", - "documentation":"

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

" + "documentation":"

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

" }, "ComparisonOperator":{ "shape":"ComparisonOperatorType", - "documentation":"

Comparison operator to use when measuring a metric against the threshold value.

" + "documentation":"

Comparison operator to use when measuring a metric against the threshold value.

" }, "Threshold":{ "shape":"Double", @@ -3360,7 +2557,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

Name of the GameLift-defined metric that is used to trigger an adjustment.

" + "documentation":"

Name of the GameLift-defined metric that is used to trigger an adjustment.

" } }, "documentation":"

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

" @@ -3394,11 +2591,11 @@ }, "FilterExpression":{ "shape":"NonZeroAndMaxString", - "documentation":"

String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in ACTIVE status.

A filter expression can contain one or multiple conditions. Each condition consists of the following:

To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y).

Session search evaluates conditions from left to right using the following precedence rules:

  1. =, &lt;&gt;, &lt;, &gt;, &lt;=, &gt;=
  2. Parentheses
  3. NOT
  4. AND
  5. OR

For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: \"maximumSessions&gt;=10 AND hasAvailablePlayerSessions=true\".

" + "documentation":"

String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in ACTIVE status.

A filter expression can contain one or multiple conditions. Each condition consists of the following:

To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y).

Session search evaluates conditions from left to right using the following precedence rules:

  1. =, <>, <, >, <=, >=

  2. Parentheses

  3. NOT

  4. AND

  5. OR

For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: \"maximumSessions>=10 AND hasAvailablePlayerSessions=true\".

" }, "SortExpression":{ "shape":"NonZeroAndMaxString", - "documentation":"

Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements:

For example, this sort expression returns the oldest active sessions first: \"SortExpression\": \"creationTimeMillis ASC\". Results with a null value for the sort operand are returned at the end of the list.

" + "documentation":"

Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements:

For example, this sort expression returns the oldest active sessions first: \"SortExpression\": \"creationTimeMillis ASC\". Results with a null value for the sort operand are returned at the end of the list.

" }, "Limit":{ "shape":"PositiveInteger", @@ -3420,7 +2617,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.

" + "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -3442,16 +2639,16 @@ }, "ConcurrentExecutions":{ "shape":"PositiveInteger", - "documentation":"

Number of server processes using this configuration to run concurrently on an instance.

" + "documentation":"

Number of server processes using this configuration to run concurrently on an instance.

" } }, - "documentation":"

A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration.

" + "documentation":"

A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration .

" }, "ServerProcessList":{ "type":"list", "member":{"shape":"ServerProcess"}, - "min":1, - "max":50 + "max":50, + "min":1 }, "StringList":{ "type":"list", @@ -3462,8 +2659,8 @@ "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

" + "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

", + "exception":true }, "Timestamp":{"type":"timestamp"}, "UnauthorizedException":{ @@ -3471,8 +2668,8 @@ "members":{ "Message":{"shape":"NonEmptyString"} }, - "exception":true, - "documentation":"

The client failed authentication. Clients should not retry such requests

" + "documentation":"

The client failed authentication. Clients should not retry such requests.

", + "exception":true }, "UpdateAliasInput":{ "type":"structure", @@ -3480,10 +2677,10 @@ "members":{ "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to update.

" + "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to update.

" }, "Name":{ - "shape":"NonZeroAndMaxString", + "shape":"NonBlankAndLengthConstraintString", "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" }, "Description":{ @@ -3513,7 +2710,7 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier of the build you want to update.

" + "documentation":"

Unique identifier of the build you want to update.

" }, "Name":{ "shape":"NonZeroAndMaxString", @@ -3542,7 +2739,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update attribute metadata for.

" + "documentation":"

Unique identifier for the fleet you want to update attribute metadata for.

" }, "Name":{ "shape":"NonZeroAndMaxString", @@ -3554,7 +2751,11 @@ }, "NewGameSessionProtectionPolicy":{ "shape":"ProtectionPolicy", - "documentation":"

Game session protection policy to apply to all new instances created in this fleet. Instances that already exist are not affected. You can set protection for individual instances using UpdateGameSession.

" + "documentation":"

Game session protection policy to apply to all new instances created in this fleet. Instances that already exist are not affected. You can set protection for individual instances using UpdateGameSession.

" + }, + "ResourceCreationLimitPolicy":{ + "shape":"ResourceCreationLimitPolicy", + "documentation":"

Policy that limits the number of game sessions an individual player can create over a span of time.

" } }, "documentation":"

Represents the input for a request action.

" @@ -3575,7 +2776,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update capacity for.

" + "documentation":"

Unique identifier for the fleet you want to update capacity for.

" }, "DesiredInstances":{ "shape":"WholeNumber", @@ -3608,7 +2809,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update port settings for.

" + "documentation":"

Unique identifier for the fleet you want to update port settings for.

" }, "InboundPermissionAuthorizations":{ "shape":"IpPermissionsList", @@ -3636,8 +2837,8 @@ "required":["GameSessionId"], "members":{ "GameSessionId":{ - "shape":"GameSessionId", - "documentation":"

Unique identifier for a game session. Specify the game session you want to update.

" + "shape":"ArnStringModel", + "documentation":"

Unique identifier for the game session to update. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an auto-generated string.

" }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", @@ -3653,7 +2854,7 @@ }, "ProtectionPolicy":{ "shape":"ProtectionPolicy", - "documentation":"

Game session protection policy to apply to this game session only.

" + "documentation":"

Game session protection policy to apply to this game session only.

" } }, "documentation":"

Represents the input for a request action.

" @@ -3701,6 +2902,5 @@ "min":0 } }, - "examples":{ - } + "documentation":"Amazon GameLift Service

Welcome to the Amazon GameLift API Reference. Amazon GameLift is a managed Amazon Web Services (AWS) service for developers who need a scalable, server-based solution for multiplayer games. Amazon GameLift provides setup and deployment of game servers, and handles infrastructure scaling and session management.

This reference describes the low-level service API for GameLift. You can call this API directly or use the AWS SDK for your preferred language. The AWS SDK includes a set of high-level GameLift actions multiplayer game sessions. Alternatively, you can use the AWS command-line interface (CLI) tool, which includes commands for GameLift. For administrative actions, you can also use the Amazon GameLift console.

More Resources

Manage Games and Players Through GameLift

Call these actions from your game clients and/or services to create and manage multiplayer game sessions and player sessions.

Set Up and Manage Game Servers

Use these administrative actions to configure GameLift to host your game servers. When setting up GameLift, you will need to (1) configure a build for your game and upload build files, and (2) set up one or more fleets to host game sessions. Once you've created and activated a fleet, you can assign aliases to it, scale capacity, track performance and utilization, etc.

To view changes to the API, see the GameLift Document History page.

" } diff --git a/botocore/data/iot/2015-05-28/service-2.json b/botocore/data/iot/2015-05-28/service-2.json index 74a92639..3269d521 100644 --- a/botocore/data/iot/2015-05-28/service-2.json +++ b/botocore/data/iot/2015-05-28/service-2.json @@ -3107,6 +3107,10 @@ "shape":"DynamoDBAction", "documentation":"

Write to a DynamoDB table.

" }, + "dynamoDBv2":{ + "shape":"DynamoDBv2Action", + "documentation":"

Write to a DynamoDB table. This is a new version of the DynamoDB action. It allows you to write each attribute in an MQTT message payload into a separate DynamoDB column.

" + }, "lambda":{ "shape":"LambdaAction", "documentation":"

Invoke a Lambda function.

" @@ -4215,6 +4219,20 @@ }, "documentation":"

Describes an action to write to a DynamoDB table.

The tableName, hashKeyField, and rangeKeyField values must match the values used when you created the table.

The hashKeyValue and rangeKeyvalue fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${sql-expression}.

You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:

\"hashKeyValue\": \"${topic(3)}\"

The following field uses the timestamp:

\"rangeKeyValue\": \"${timestamp()}\"

" }, + "DynamoDBv2Action":{ + "type":"structure", + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access to the DynamoDB table.

" + }, + "putItem":{ + "shape":"PutItemInput", + "documentation":"

Specifies the DynamoDB table to which the message data will be written. For example:

{ \"dynamoDBv2\": { \"roleArn\": \"aws:iam:12341251:my-role\" \"putItem\": { \"tableName\": \"my-table\" } } }

Each attribute in the message payload will be written to a separate column in the DynamoDB database.

" + } + }, + "documentation":"

Describes an action to write to a DynamoDB table.

This DynamoDB action writes each attribute in the message payload into it's own column in the DynamoDB table.

" + }, "DynamoKeyType":{ "type":"string", "enum":[ @@ -5226,6 +5244,17 @@ "type":"string", "min":1 }, + "PutItemInput":{ + "type":"structure", + "required":["tableName"], + "members":{ + "tableName":{ + "shape":"TableName", + "documentation":"

The table where the message data will be written

" + } + }, + "documentation":"

The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written.

" + }, "QueueUrl":{"type":"string"}, "RangeKeyField":{"type":"string"}, "RangeKeyValue":{"type":"string"}, diff --git a/botocore/data/kinesisanalytics/2015-08-14/service-2.json b/botocore/data/kinesisanalytics/2015-08-14/service-2.json index e6edcbe7..0376f511 100644 --- a/botocore/data/kinesisanalytics/2015-08-14/service-2.json +++ b/botocore/data/kinesisanalytics/2015-08-14/service-2.json @@ -694,7 +694,10 @@ }, "Input":{ "type":"structure", - "required":["NamePrefix"], + "required":[ + "NamePrefix", + "InputSchema" + ], "members":{ "NamePrefix":{ "shape":"InAppStreamName", @@ -1559,7 +1562,8 @@ "UnableToDetectSchemaException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "RawInputRecords":{"shape":"RawInputRecords"} }, "documentation":"

Data format is not valid, Kinesis Analytics is not able to detect schema for the given streaming source.

", "exception":true diff --git a/botocore/data/rds/2014-10-31/service-2.json b/botocore/data/rds/2014-10-31/service-2.json index 0c041101..0d4b56af 100755 --- a/botocore/data/rds/2014-10-31/service-2.json +++ b/botocore/data/rds/2014-10-31/service-2.json @@ -10,6 +10,21 @@ "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/" }, "operations":{ + "AddRoleToDBCluster":{ + "name":"AddRoleToDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddRoleToDBClusterMessage"}, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterRoleAlreadyExistsFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterRoleQuotaExceededFault"} + ], + "documentation":"

Associates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf.

" + }, "AddSourceIdentifierToSubscription":{ "name":"AddSourceIdentifierToSubscription", "http":{ @@ -108,7 +123,9 @@ {"shape":"DBClusterSnapshotAlreadyExistsFault"}, {"shape":"DBClusterSnapshotNotFoundFault"}, {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"} + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"KMSKeyNotAccessibleFault"} ], "documentation":"

Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

" }, @@ -1295,6 +1312,20 @@ ], "documentation":"

Rebooting a DB instance restarts the database engine service. A reboot also applies to the DB instance any modifications to the associated DB parameter group that were pending. Rebooting a DB instance results in a momentary outage of the instance, during which the DB instance status is set to rebooting. If the RDS instance is configured for MultiAZ, it is possible that the reboot will be conducted through a failover. An Amazon RDS event is created when the reboot is completed.

If your DB instance is deployed in multiple Availability Zones, you can force a failover from one AZ to the other during the reboot. You might force a failover to test the availability of your DB instance deployment or to restore operations to the original AZ after a failover occurs.

The time required to reboot is a function of the specific database engine's crash recovery process. To improve the reboot time, we recommend that you reduce database activities as much as possible during the reboot process to reduce rollback activity for in-transit transactions.

" }, + "RemoveRoleFromDBCluster":{ + "name":"RemoveRoleFromDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveRoleFromDBClusterMessage"}, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterRoleNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

Disassociates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf.

" + }, "RemoveSourceIdentifierFromSubscription":{ "name":"RemoveSourceIdentifierFromSubscription", "http":{ @@ -1574,6 +1605,23 @@ "locationName":"AccountQuota" } }, + "AddRoleToDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "RoleArn" + ], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the DB cluster to associate the IAM role with.

" + }, + "RoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.

" + } + } + }, "AddSourceIdentifierToSubscriptionMessage":{ "type":"structure", "required":[ @@ -2209,7 +2257,7 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the database engine to use.

The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS region.

Amazon Aurora

MariaDB

Microsoft SQL Server Enterprise Edition (sqlserver-ee)

Microsoft SQL Server Express Edition (sqlserver-ex)

Microsoft SQL Server Standard Edition (sqlserver-se)

Microsoft SQL Server Web Edition (sqlserver-web)

MySQL

Oracle Database Enterprise Edition (oracle-ee)

Oracle Database Standard Edition (oracle-se)

Oracle Database Standard Edition One (oracle-se1)

Oracle Database Standard Edition Two (oracle-se2)

PostgreSQL

" + "documentation":"

The version number of the database engine to use.

The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS region.

Amazon Aurora

MariaDB

MySQL

Oracle Database Enterprise Edition (oracle-ee)

Oracle Database Standard Edition Two (oracle-se2)

Oracle Database Standard Edition One (oracle-se1)

Oracle Database Standard Edition (oracle-se)

PostgreSQL

Microsoft SQL Server Enterprise Edition (sqlserver-ee)

Microsoft SQL Server Express Edition (sqlserver-ex)

Microsoft SQL Server Standard Edition (sqlserver-se)

Microsoft SQL Server Web Edition (sqlserver-web)

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -2677,6 +2725,10 @@ "DBClusterArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) for the DB cluster.

" + }, + "AssociatedRoles":{ + "shape":"DBClusterRoles", + "documentation":"

Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.

" } }, "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBClusters action.

", @@ -2870,6 +2922,63 @@ }, "exception":true }, + "DBClusterRole":{ + "type":"structure", + "members":{ + "RoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:

" + } + }, + "documentation":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

" + }, + "DBClusterRoleAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified IAM role Amazon Resource Name (ARN) is already associated with the specified DB cluster.

", + "error":{ + "code":"DBClusterRoleAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterRoleNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified IAM role Amazon Resource Name (ARN) is not associated with the specified DB cluster.

", + "error":{ + "code":"DBClusterRoleNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterRoleQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the maximum number of IAM roles that can be associated with the specified DB cluster.

", + "error":{ + "code":"DBClusterRoleQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterRoles":{ + "type":"list", + "member":{ + "shape":"DBClusterRole", + "locationName":"DBClusterRole" + } + }, "DBClusterSnapshot":{ "type":"structure", "members":{ @@ -5697,7 +5806,7 @@ }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC, or to a different subnet group in the same VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens.

Example: mySubnetGroup

" + "documentation":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens.

Example: mySubnetGroup

" }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", @@ -6767,6 +6876,23 @@ "locationName":"RecurringCharge" } }, + "RemoveRoleFromDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "RoleArn" + ], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the DB cluster to disassociate the IAM role rom.

" + }, + "RoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.

" + } + } + }, "RemoveSourceIdentifierFromSubscriptionMessage":{ "type":"structure", "required":[ diff --git a/botocore/data/route53/2013-04-01/service-2.json b/botocore/data/route53/2013-04-01/service-2.json index c1c17f4e..a63b1834 100644 --- a/botocore/data/route53/2013-04-01/service-2.json +++ b/botocore/data/route53/2013-04-01/service-2.json @@ -30,7 +30,7 @@ {"shape":"ConflictingDomainExists"}, {"shape":"LimitsExceeded"} ], - "documentation":"

Associates an Amazon VPC with a private hosted zone.

The VPC and the hosted zone must already exist, and you must have created a private hosted zone. You cannot convert a public hosted zone into a private hosted zone.

Send a POST request to the /Amazon Route 53 API version/hostedzone/hosted zone ID/associatevpc resource. The request body must include an XML document with a AssociateVPCWithHostedZoneRequest element. The response returns the AssociateVPCWithHostedZoneResponse element.

If you used different accounts to create the hosted zone and to create the Amazon VPCs that you want to associate with the hosted zone, we need to update account permissions for you. For more information, see Associating Amazon VPCs and Private Hosted Zones That You Create with Different AWS Accounts in the Amazon Route 53 Developer Guide.

" + "documentation":"

Associates an Amazon VPC with a private hosted zone.

The VPC and the hosted zone must already exist, and you must have created a private hosted zone. You cannot convert a public hosted zone into a private hosted zone.

Send a POST request to the /2013-04-01/hostedzone/hosted zone ID/associatevpc resource. The request body must include an XML document with a AssociateVPCWithHostedZoneRequest element. The response returns the AssociateVPCWithHostedZoneResponse element.

If you used different accounts to create the hosted zone and to create the Amazon VPCs that you want to associate with the hosted zone, we need to update account permissions for you. For more information, see Associating Amazon VPCs and Private Hosted Zones That You Create with Different AWS Accounts in the Amazon Route 53 Developer Guide.

" }, "ChangeResourceRecordSets":{ "name":"ChangeResourceRecordSets", @@ -51,7 +51,7 @@ {"shape":"InvalidInput"}, {"shape":"PriorRequestNotComplete"} ], - "documentation":"

Create, change, update, or delete authoritative DNS information on all Amazon Route 53 servers. Send a POST request to:

/2013-04-01/hostedzone/Amazon Route 53 hosted Zone ID/rrset resource.

The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. When using the Amazon Route 53 API to change resource record sets, Amazon Route 53 either makes all or none of the changes in a change batch request. This ensures that Amazon Route 53 never partially implements the intended changes to the resource record sets in a hosted zone.

For example, a change batch request that deletes the CNAMErecord for www.example.com and creates an alias resource record set for www.example.com. Amazon Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If either the DELETE or the CREATE action fails, then both changes (plus any other changes in the batch) fail, and the original CNAME record continues to exist.

Due to the nature of transactional changes, you cannot delete the same resource record set more than once in a single change batch. If you attempt to delete the same change batch more than once, Amazon Route 53 returns an InvalidChangeBatch error.

To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Amazon Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 API Reference or Actions on Traffic Policies and Traffic Policy Instances in this guide.

Use ChangeResourceRecordsSetsRequest to perform the following actions:

In response to a ChangeResourceRecordSets request, the DNS data is changed on all Amazon Route 53 DNS servers. Initially, the status of a change is PENDING, meaning the change has not yet propagated to all the authoritative Amazon Route 53 DNS servers. When the change is propagated to all hosts, the change returns a status of INSYNC.

After sending a change request, confirm your change has propagated to all Amazon Route 53 DNS servers. Changes generally propagate to all Amazon Route 53 name servers in a few minutes. In rare circumstances, propagation can take up to 30 minutes. For more information, see GetChange.

Note the following limitations on a ChangeResourceRecordSets request:

If the value of the Action element in a ChangeResourceRecordSets request is UPSERT and the resource record set already exists, Amazon Route 53 automatically performs a DELETE request and a CREATE request. When Amazon Route 53 calculates the number of characters in the Value elements of a change batch request, it adds the number of characters in the Value element of the resource record set being deleted and the number of characters in the Value element of the resource record set being created.

For more information on transactional changes, see ChangeResourceRecordSets.

" + "documentation":"

Create, change, update, or delete authoritative DNS information on all Amazon Route 53 servers. Send a POST request to:

/2013-04-01/hostedzone/Amazon Route 53 hosted Zone ID/rrset resource.

The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. When using the Amazon Route 53 API to change resource record sets, Amazon Route 53 either makes all or none of the changes in a change batch request. This ensures that Amazon Route 53 never partially implements the intended changes to the resource record sets in a hosted zone.

For example, a change batch request that deletes the CNAME record for www.example.com and creates an alias resource record set for www.example.com. Amazon Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If either the DELETE or the CREATE action fails, then both changes (plus any other changes in the batch) fail, and the original CNAME record continues to exist.

Due to the nature of transactional changes, you cannot delete the same resource record set more than once in a single change batch. If you attempt to delete the same change batch more than once, Amazon Route 53 returns an InvalidChangeBatch error.

To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Amazon Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide.

Use ChangeResourceRecordsSetsRequest to perform the following actions:

In response to a ChangeResourceRecordSets request, the DNS data is changed on all Amazon Route 53 DNS servers. Initially, the status of a change is PENDING, meaning the change has not yet propagated to all the authoritative Amazon Route 53 DNS servers. When the change is propagated to all hosts, the change returns a status of INSYNC.

After sending a change request, confirm your change has propagated to all Amazon Route 53 DNS servers. Changes generally propagate to all Amazon Route 53 name servers in a few minutes. In rare circumstances, propagation can take up to 30 minutes. For more information, see GetChange.

For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide.

" }, "ChangeTagsForResource":{ "name":"ChangeTagsForResource", @@ -71,7 +71,8 @@ {"shape":"NoSuchHostedZone"}, {"shape":"PriorRequestNotComplete"}, {"shape":"ThrottlingException"} - ] + ], + "documentation":"

Adds, edits, or deletes tags for a health check or a hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "CreateHealthCheck":{ "name":"CreateHealthCheck", @@ -117,7 +118,7 @@ {"shape":"NoSuchDelegationSet"}, {"shape":"DelegationSetNotReusable"} ], - "documentation":"

Creates a new public hosted zone, used to specify how the Domain Name System (DNS) routes traffic on the Internet for a domain, such as example.com, and its subdomains.

Public hosted zones cannot be converted to a private hosted zone or vice versa. Instead, create a new hosted zone with the same name and create new resource record sets.

Send a POST request to the /Amazon Route 53 API version/hostedzone resource. The request body must include an XML document with a CreateHostedZoneRequest element. The response returns the CreateHostedZoneResponse element containing metadata about the hosted zone.

Fore more information about charges for hosted zones, see AmazonAmazon Route 53 Pricing.

Note the following:

After creating a zone, its initial status is PENDING. This means that it is not yet available on all DNS servers. The status of the zone changes to INSYNC when the NS and SOA records are available on all Amazon Route 53 DNS servers.

When trying to create a hosted zone using a reusable delegation set, specify an optional DelegationSetId, and Amazon Route 53 would assign those 4 NS records for the zone, instead of alloting a new one.

" + "documentation":"

Creates a new public hosted zone, used to specify how the Domain Name System (DNS) routes traffic on the Internet for a domain, such as example.com, and its subdomains.

Public hosted zones cannot be converted to a private hosted zone or vice versa. Instead, create a new hosted zone with the same name and create new resource record sets.

Send a POST request to the /2013-04-01/hostedzone resource. The request body must include an XML document with a CreateHostedZoneRequest element. The response returns the CreateHostedZoneResponse element containing metadata about the hosted zone.

Fore more information about charges for hosted zones, see Amazon Route 53 Pricing.

Note the following:

After creating a zone, its initial status is PENDING. This means that it is not yet available on all DNS servers. The status of the zone changes to INSYNC when the NS and SOA records are available on all Amazon Route 53 DNS servers.

When trying to create a hosted zone using a reusable delegation set, specify an optional DelegationSetId, and Amazon Route 53 would assign those 4 NS records for the zone, instead of allotting a new one.

" }, "CreateReusableDelegationSet":{ "name":"CreateReusableDelegationSet", @@ -141,7 +142,7 @@ {"shape":"DelegationSetNotAvailable"}, {"shape":"DelegationSetAlreadyReusable"} ], - "documentation":"

Creates a delegation set (a group of four anem servers) that can be reused by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet marks the delegation set associated with that zone as reusable

Send a POST request to the /Amazon Route 53 API version/delegationset resource. The request body must include an XML document with a CreateReusableDelegationSetRequest element.

A reusable delegation set cannot be associated with a private hosted zone/

For more information, including a procedure on how to create and configure a reusable delegation set (also known as white label name servers), see Configuring White Label Name Servers.

" + "documentation":"

Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet marks the delegation set associated with that zone as reusable

Send a POST request to the /2013-04-01/delegationset resource. The request body must include an XML document with a CreateReusableDelegationSetRequest element.

A reusable delegation set cannot be associated with a private hosted zone/

For more information, including a procedure on how to create and configure a reusable delegation set (also known as white label name servers), see Configuring White Label Name Servers.

" }, "CreateTrafficPolicy":{ "name":"CreateTrafficPolicy", @@ -162,7 +163,7 @@ {"shape":"TrafficPolicyAlreadyExists"}, {"shape":"InvalidTrafficPolicyDocument"} ], - "documentation":"

Creates a traffic policy, which you use to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com).

Send a POST request to the /Amazon Route 53 API version/trafficpolicy resource. The request body must include a document with a CreateTrafficPolicyRequest element. The response includes the CreateTrafficPolicyResponse element, which contains information about the new traffic policy.

" + "documentation":"

Creates a traffic policy, which you use to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com).

Send a POST request to the /2013-04-01/trafficpolicy resource. The request body must include a document with a CreateTrafficPolicyRequest element. The response includes the CreateTrafficPolicyResponse element, which contains information about the new traffic policy.

" }, "CreateTrafficPolicyInstance":{ "name":"CreateTrafficPolicyInstance", @@ -184,7 +185,7 @@ {"shape":"NoSuchTrafficPolicy"}, {"shape":"TrafficPolicyInstanceAlreadyExists"} ], - "documentation":"

Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy version. In addition, CreateTrafficPolicyInstance associates the resource record sets with a specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds to DNS queries for the domain or subdomain name by using the resource record sets that CreateTrafficPolicyInstance created.

Send a POST request to the /Amazon Route 53 API version/trafficpolicyinstance resource. The request body must include a document with a CreateTrafficPolicyRequest element. The response returns the CreateTrafficPolicyInstanceResponse element, which contains information about the traffic policy instance.

" + "documentation":"

Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy version. In addition, CreateTrafficPolicyInstance associates the resource record sets with a specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds to DNS queries for the domain or subdomain name by using the resource record sets that CreateTrafficPolicyInstance created.

Send a POST request to the /2013-04-01/trafficpolicyinstance resource. The request body must include a document with a CreateTrafficPolicyRequest element. The response returns the CreateTrafficPolicyInstanceResponse element, which contains information about the traffic policy instance.

" }, "CreateTrafficPolicyVersion":{ "name":"CreateTrafficPolicyVersion", @@ -205,7 +206,7 @@ {"shape":"ConcurrentModification"}, {"shape":"InvalidTrafficPolicyDocument"} ], - "documentation":"

Creates a new version of an existing traffic policy. When you create a new version of a traffic policy, you specify the ID of the traffic policy that you want to update and a JSON-formatted document that describes the new version. You use traffic policies to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com). You can create a maximum of 1000 versions of a traffic policy. If you reach the limit and need to create another version, you'll need to start a new traffic policy.

Send a POST request to the /Amazon Route 53 version/trafficpolicy/ resource. The request body includes a document with a CreateTrafficPolicyVersionRequest element. The response returns the CreateTrafficPolicyVersionResponse element, which contains information about the new version of the traffic policy.

" + "documentation":"

Creates a new version of an existing traffic policy. When you create a new version of a traffic policy, you specify the ID of the traffic policy that you want to update and a JSON-formatted document that describes the new version. You use traffic policies to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com). You can create a maximum of 1000 versions of a traffic policy. If you reach the limit and need to create another version, you'll need to start a new traffic policy.

Send a POST request to the /2013-04-01/trafficpolicy/ resource. The request body includes a document with a CreateTrafficPolicyVersionRequest element. The response returns the CreateTrafficPolicyVersionResponse element, which contains information about the new version of the traffic policy.

" }, "DeleteHealthCheck":{ "name":"DeleteHealthCheck", @@ -305,7 +306,7 @@ {"shape":"LastVPCAssociation"}, {"shape":"InvalidInput"} ], - "documentation":"

Disassociates a VPC from a Amazon Route 53 private hosted zone.

Send a POST request to the /Amazon Route 53 API version/hostedzone/hosted zone ID/disassociatevpc resource. The request body must include an XML document with a DisassociateVPCFromHostedZoneRequest element. The response returns the DisassociateVPCFromHostedZoneResponse element.

You can only disassociate a VPC from a private hosted zone when two or more VPCs are associated with that hosted zone. You cannot convert a private hosted zone into a public hosted zone.

" + "documentation":"

Disassociates a VPC from a Amazon Route 53 private hosted zone.

Send a POST request to the /2013-04-01/hostedzone/hosted zone ID/disassociatevpc resource. The request body must include an XML document with a DisassociateVPCFromHostedZoneRequest element. The response returns the DisassociateVPCFromHostedZoneResponse element.

You can only disassociate a VPC from a private hosted zone when two or more VPCs are associated with that hosted zone. You cannot convert a private hosted zone into a public hosted zone.

" }, "GetChange":{ "name":"GetChange", @@ -563,7 +564,7 @@ {"shape":"NoSuchDelegationSet"}, {"shape":"DelegationSetNotReusable"} ], - "documentation":"

To retrieve a list of your public and private hosted zones, send a GET request to the /2013-04-01/hostedzone resource. The response to this request includes a HostedZones child element for each hosted zone created by the current AWS account.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the maxitems parameter to list them in groups of up to 100. The response includes four values that help navigate from one group of maxitems hosted zones to the next:

" + "documentation":"

To retrieve a list of your public and private hosted zones, send a GET request to the /2013-04-01/hostedzone resource. The response to this request includes a HostedZones child element for each hosted zone created by the current AWS account.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the maxitems parameter to list them in groups of up to 100. The response includes four values that help navigate from one group of maxitems hosted zones to the next:

" }, "ListHostedZonesByName":{ "name":"ListHostedZonesByName", @@ -590,7 +591,8 @@ "errors":[ {"shape":"NoSuchHostedZone"}, {"shape":"InvalidInput"} - ] + ], + "documentation":"

Lists the resource record sets in a specified hosted zone.

ListResourceRecordSets returns up to 100 resource record sets at a time in ASCII order, beginning at a position specified by the name and type elements. The action sorts results first by DNS name with the labels reversed, for example:

com.example.www.

Note the trailing dot, which can change the sort order in some circumstances.

When multiple records have the same DNS name, the action sorts results by the record type.

You can use the name and type elements to adjust the beginning position of the list of resource record sets returned:

If you do not specify Name or Type

The results begin with the first resource record set that the hosted zone contains.

If you specify Name but not Type

The results begin with the first resource record set in the list whose name is greater than or equal to Name.

If you specify Type but not Name

Amazon Route 53 returns the InvalidInput error.

If you specify both Name and Type

The results begin with the first resource record set in the list whose name is greater than or equal to Name, and whose type is greater than or equal to Type.

This action returns the most current version of the records. This includes records that are PENDING, and that are not yet available on all Amazon Route 53 DNS servers.

To ensure that you get an accurate listing of the resource record sets for a hosted zone at a point in time, do not submit a ChangeResourceRecordSets request while you're paging through the results of a ListResourceRecordSets request. If you do, some pages may display results without the latest changes while other pages display results with the latest changes.

" }, "ListReusableDelegationSets":{ "name":"ListReusableDelegationSets", @@ -619,7 +621,8 @@ {"shape":"NoSuchHostedZone"}, {"shape":"PriorRequestNotComplete"}, {"shape":"ThrottlingException"} - ] + ], + "documentation":"

Lists tags for one health check or hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "ListTagsForResources":{ "name":"ListTagsForResources", @@ -639,7 +642,8 @@ {"shape":"NoSuchHostedZone"}, {"shape":"PriorRequestNotComplete"}, {"shape":"ThrottlingException"} - ] + ], + "documentation":"

Lists tags for up to 10 health checks or hosted zones.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "ListTrafficPolicies":{ "name":"ListTrafficPolicies", @@ -710,7 +714,7 @@ {"shape":"InvalidInput"}, {"shape":"NoSuchTrafficPolicy"} ], - "documentation":"

Gets information about all of the versions for a specified traffic policy.

Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource and specify the ID of the traffic policy for which you want to list versions.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policies, you can use the maxitems parameter to list them in groups of up to 100.

The response includes three values that help you navigate from one group of maxitemsmaxitems traffic policies to the next:

" + "documentation":"

Gets information about all of the versions for a specified traffic policy.

Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource and specify the ID of the traffic policy for which you want to list versions.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policies, you can use the maxitems parameter to list them in groups of up to 100.

The response includes three values that help you navigate from one group of maxitems traffic policies to the next:

" }, "TestDNSAnswer":{ "name":"TestDNSAnswer", @@ -723,7 +727,8 @@ "errors":[ {"shape":"NoSuchHostedZone"}, {"shape":"InvalidInput"} - ] + ], + "documentation":"

Gets the value that Amazon Route 53 returns in response to a DNS request for a specified record name and type. You can optionally specify the IP address of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.

" }, "UpdateHealthCheck":{ "name":"UpdateHealthCheck", @@ -742,7 +747,7 @@ {"shape":"InvalidInput"}, {"shape":"HealthCheckVersionMismatch"} ], - "documentation":"

Updates an existing health check.

Send a POST request to the /Amazon Route 53 API version/healthcheck/health check ID resource. The request body must include an XML document with an UpdateHealthCheckRequest element. For more information about updating health checks, see Creating, Updating, and Deleting Health Checks in the Amazon Route 53 Developer Guide.

" + "documentation":"

Updates an existing health check.

Send a POST request to the /2013-04-01/healthcheck/health check ID resource. The request body must include an XML document with an UpdateHealthCheckRequest element. For more information about updating health checks, see Creating, Updating, and Deleting Health Checks in the Amazon Route 53 Developer Guide.

" }, "UpdateHostedZoneComment":{ "name":"UpdateHostedZoneComment", @@ -779,7 +784,7 @@ {"shape":"NoSuchTrafficPolicy"}, {"shape":"ConcurrentModification"} ], - "documentation":"

Updates the comment for a specified traffic policy version.

Send a POST request to the /Amazon Route 53 API version/trafficpolicy/ resource.

The request body must include a document with an UpdateTrafficPolicyCommentRequest element.

" + "documentation":"

Updates the comment for a specified traffic policy version.

Send a POST request to the /2013-04-01/trafficpolicy/ resource.

The request body must include a document with an UpdateTrafficPolicyCommentRequest element.

" }, "UpdateTrafficPolicyInstance":{ "name":"UpdateTrafficPolicyInstance", @@ -800,7 +805,7 @@ {"shape":"PriorRequestNotComplete"}, {"shape":"ConflictingTypes"} ], - "documentation":"

Updates the resource record sets in a specified hosted zone that were created based on the settings in a specified traffic policy version.

Send a POST request to the /Amazon Route 53 API version/trafficpolicyinstance/traffic policy ID resource. The request body must include a document with an UpdateTrafficPolicyInstanceRequest element.

When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS queries for the root resource record set name (such as example.com) while it replaces one group of resource record sets with another. Amazon Route 53 performs the following operations:

  1. Amazon Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true regardless of how substantial the differences are between the existing resource record sets and the new resource record sets.

  2. When all of the new resource record sets have been created, Amazon Route 53 starts to respond to DNS queries for the root resource record set name (such as example.com) by using the new resource record sets.

  3. Amazon Route 53 deletes the old group of resource record sets that are associated with the root resource record set name.

" + "documentation":"

Updates the resource record sets in a specified hosted zone that were created based on the settings in a specified traffic policy version.

Send a POST request to the /2013-04-01/trafficpolicyinstance/traffic policy ID resource. The request body must include a document with an UpdateTrafficPolicyInstanceRequest element.

When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS queries for the root resource record set name (such as example.com) while it replaces one group of resource record sets with another. Amazon Route 53 performs the following operations:

  1. Amazon Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true regardless of how substantial the differences are between the existing resource record sets and the new resource record sets.

  2. When all of the new resource record sets have been created, Amazon Route 53 starts to respond to DNS queries for the root resource record set name (such as example.com) by using the new resource record sets.

  3. Amazon Route 53 deletes the old group of resource record sets that are associated with the root resource record set name.

" } }, "shapes":{ @@ -839,7 +844,7 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

Alias resource records sets only: The value used depends on where the queries are routed:

A CloudFront distribution

Specify Z2FDTNDATAQYW2.

Alias resource record sets for CloudFront cannot be created in a private zone.

Elastic Beanstalk environment

Specify the hosted zone ID for the region in which you created the environment. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the Regions and Endpoints chapter of the AWSk General Reference.

ELB load balancer

Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:

An Amazon S3 bucket configured as a static website

Specify the hosted zone ID for the Amazon S3 website endpoint in which you created the bucket. For more information about valid values, see the table Amazon S3 (S3) Website Endpoints in the Amazon Web Services General Reference.

Another Amazon Route 53 resource record set in your hosted zone

Specify the hosted zone ID of your hosted zone. (An alias resource record set cannot reference a resource record set in a different hosted zone.)

" + "documentation":"

Alias resource records sets only: The value used depends on where the queries are routed:

A CloudFront distribution

Specify Z2FDTNDATAQYW2.

Alias resource record sets for CloudFront cannot be created in a private zone.

Elastic Beanstalk environment

Specify the hosted zone ID for the region in which you created the environment. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the Regions and Endpoints chapter of the AWS General Reference.

ELB load balancer

Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:

An Amazon S3 bucket configured as a static website

Specify the hosted zone ID for the Amazon S3 website endpoint in which you created the bucket. For more information about valid values, see the table Amazon S3 (S3) Website Endpoints in the Amazon Web Services General Reference.

Another Amazon Route 53 resource record set in your hosted zone

Specify the hosted zone ID of your hosted zone. (An alias resource record set cannot reference a resource record set in a different hosted zone.)

" }, "DNSName":{ "shape":"DNSName", @@ -1185,6 +1190,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, + "documentation":"

You specified an Amazon VPC that you're already using for another hosted zone, and the domain that you specified for one of the hosted zones is a subdomain of the domain that you specified for the other hosted zone. For example, you cannot use the same Amazon VPC for the hosted zones for example.com and test.example.com.

", "exception":true }, "ConflictingTypes":{ @@ -1288,7 +1294,10 @@ "shape":"DelegationSet", "documentation":"

A complex type that describes the name servers for this hosted zone.

" }, - "VPC":{"shape":"VPC"}, + "VPC":{ + "shape":"VPC", + "documentation":"

A complex type that contains information about an Amazon VPC that you associated with this hosted zone.

" + }, "Location":{ "shape":"ResourceURI", "documentation":"

The unique URL representing the new hosted zone.

", @@ -1325,7 +1334,7 @@ }, "Location":{ "shape":"ResourceURI", - "documentation":"

The unique URL representing the new reusbale delegation set.

", + "documentation":"

The unique URL representing the new reusable delegation set.

", "location":"header", "locationName":"Location" } @@ -1419,6 +1428,7 @@ }, "Location":{ "shape":"ResourceURI", + "documentation":"

A unique URL that represents a new traffic policy.

", "location":"header", "locationName":"Location" } @@ -1462,6 +1472,7 @@ }, "Location":{ "shape":"ResourceURI", + "documentation":"

A unique URL that represents a new traffic policy version.

", "location":"header", "locationName":"Location" } @@ -1482,8 +1493,14 @@ "type":"structure", "required":["NameServers"], "members":{ - "Id":{"shape":"ResourceId"}, - "CallerReference":{"shape":"Nonce"}, + "Id":{ + "shape":"ResourceId", + "documentation":"

The ID that Amazon Route 53 assigns to a reusable delegation set.

" + }, + "CallerReference":{ + "shape":"Nonce", + "documentation":"

A unique string that identifies the request, and that allows you to retry failed CreateReusableDelegationSet requests without the risk of executing the operation twice. You must use a unique CallerReference string every time you submit a CreateReusableDelegationSet request. CallerReference can be any unique string, for example, a date/time stamp.

" + }, "NameServers":{ "shape":"DelegationSetNameServers", "documentation":"

A complex type that contains a list of the authoritative name servers for the hosted zone.

" @@ -1567,6 +1584,7 @@ "members":{ "HealthCheckId":{ "shape":"HealthCheckId", + "documentation":"

The ID of the health check that you want to delete.

", "location":"uri", "locationName":"HealthCheckId" } @@ -1915,7 +1933,7 @@ "members":{ "ContinentCode":{ "shape":"GeoLocationContinentCode", - "documentation":"

Amazon Route 53 supports the following contintent codes:

", + "documentation":"

Amazon Route 53 supports the following continent codes:

", "location":"querystring", "locationName":"continentcode" }, @@ -2389,6 +2407,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, + "documentation":"

The value of HealthCheckVersion in the request doesn't match the value of HealthCheckVersion in the health check.

", "error":{"httpStatusCode":409}, "exception":true }, @@ -2974,6 +2993,7 @@ }, "DelegationSetId":{ "shape":"ResourceId", + "documentation":"

If you're using reusable delegation sets and you want to list all of the hosted zones that are associated with a reusable delegation set, specify the ID of that reusable delegation set.

", "location":"querystring", "locationName":"delegationsetid" } @@ -3529,6 +3549,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, + "documentation":"

A change with the specified change ID does not exist.

", "error":{"httpStatusCode":404}, "exception":true }, @@ -3700,7 +3721,7 @@ "members":{ "Value":{ "shape":"RData", - "documentation":"

The current or new DNS record value, not to exceed 4,000 characters. In the case of a DELETE action, if the current value does not match the actual value, an error is returned. For descriptions about how to format Value for different record types, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

You can specify more than one value for all record types except CNAME and SOA.

If you are creating an alias resource record set, omit Value.

" + "documentation":"

The current or new DNS record value, not to exceed 4,000 characters. In the case of a DELETE action, if the current value does not match the actual value, an error is returned. For descriptions about how to format Value for different record types, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

You can specify more than one value for all record types except CNAME and SOA.

If you are creating an alias resource record set, omit Value.

" } }, "documentation":"

Information specific to the resource record.

If you are creating an alias resource record set, omit ResourceRecord.

" @@ -3754,9 +3775,12 @@ }, "HealthCheckId":{ "shape":"HealthCheckId", - "documentation":"

If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health check is passing, include the HealthCheckId element and specify the ID of the applicable health check.

Amazon Route 53 determines whether a resource record set is healthy based on one of the following:

For information about how Amazon Route 53 determines whether a health check is healthy, see CreateHealthCheck.

The HealthCheckId element is only useful when Amazon Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the status of a health check. Configuring health checks only makes sense in the following configurations:

Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the endpoint specified by the IP address in the Value element. When you add a HealthCheckId element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the health check.

For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the United States, for North America, and for all locations. If the endpoint for the state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, for North America, and for all locations (a resource record set for which the value of CountryCode is *), in that order, until it finds a resource record set for which the endpoint is healthy.

If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-1-www.example.com), not the name of the resource record sets (example.com).

n this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and then associate the health check with those resource record sets, health check results will be unpredictable.

For more informaiton, see the following topics in the Amazon Route 53 Developer Guide:

" + "documentation":"

If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health check is passing, include the HealthCheckId element and specify the ID of the applicable health check.

Amazon Route 53 determines whether a resource record set is healthy based on one of the following:

For information about how Amazon Route 53 determines whether a health check is healthy, see CreateHealthCheck.

The HealthCheckId element is only useful when Amazon Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the status of a health check. Configuring health checks only makes sense in the following configurations:

Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the endpoint specified by the IP address in the Value element. When you add a HealthCheckId element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the health check.

For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the United States, for North America, and for all locations. If the endpoint for the state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, for North America, and for all locations (a resource record set for which the value of CountryCode is *), in that order, until it finds a resource record set for which the endpoint is healthy.

If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-1-www.example.com), not the name of the resource record sets (example.com).

n this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and then associate the health check with those resource record sets, health check results will be unpredictable.

For more information, see the following topics in the Amazon Route 53 Developer Guide:

" }, - "TrafficPolicyInstanceId":{"shape":"TrafficPolicyInstanceId"} + "TrafficPolicyInstanceId":{ + "shape":"TrafficPolicyInstanceId", + "documentation":"

When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. TrafficPolicyInstanceId is the ID of the traffic policy instance that Amazon Route 53 created this resource record set for.

To delete the resource record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance. Amazon Route 53 will delete the resource record set automatically. If you delete the resource record set by using ChangeResourceRecordSets, Amazon Route 53 doesn't automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no longer in use.

" + } }, "documentation":"

Information about the resource record set to create or delete.

" }, @@ -3776,6 +3800,7 @@ "type":"string", "enum":[ "us-east-1", + "us-east-2", "us-west-1", "us-west-2", "eu-west-1", @@ -3949,31 +3974,37 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", + "documentation":"

The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.

", "location":"querystring", "locationName":"hostedzoneid" }, "RecordName":{ "shape":"DNSName", + "documentation":"

The name of the resource record set that you want Amazon Route 53 to simulate a query for.

", "location":"querystring", "locationName":"recordname" }, "RecordType":{ "shape":"RRType", + "documentation":"

The type of the resource record set.

", "location":"querystring", "locationName":"recordtype" }, "ResolverIP":{ "shape":"IPAddress", + "documentation":"

If you want to simulate a request from a specific DNS resolver, specify the IP address for that resolver. If you omit this value, TestDnsAnswer uses the IP address of a DNS resolver in the AWS US East region.

", "location":"querystring", "locationName":"resolverip" }, "EDNS0ClientSubnetIP":{ "shape":"IPAddress", + "documentation":"

If the resolver that you specified for resolverip supports EDNS0, specify the IP address of a client in the applicable location.

", "location":"querystring", "locationName":"edns0clientsubnetip" }, "EDNS0ClientSubnetMask":{ "shape":"SubnetMask", + "documentation":"

If you specify an IP address for edns0clientsubnetip, you can optionally specify the number of bits of the IP address that you want the checking tool to include in the DNS query. For example, if you specify 192.0.2.44 for edns0clientsubnetip and 24 for edns0clientsubnetmask, the checking tool will simulate a request from 192.0.2.0/24. The default value is 24 bits.

", "location":"querystring", "locationName":"edns0clientsubnetmask" } @@ -4024,6 +4055,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, + "documentation":"

", "error":{"httpStatusCode":400}, "exception":true }, @@ -4033,6 +4065,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, + "documentation":"

You have reached the maximum number of active health checks for an AWS account. The default limit is 100. To request a higher limit, create a case with the AWS Support Center.

", "exception":true }, "TooManyHostedZones":{ @@ -4088,13 +4121,32 @@ "Document" ], "members":{ - "Id":{"shape":"TrafficPolicyId"}, - "Version":{"shape":"TrafficPolicyVersion"}, - "Name":{"shape":"TrafficPolicyName"}, - "Type":{"shape":"RRType"}, - "Document":{"shape":"TrafficPolicyDocument"}, - "Comment":{"shape":"TrafficPolicyComment"} - } + "Id":{ + "shape":"TrafficPolicyId", + "documentation":"

The ID that Amazon Route 53 assigned to a traffic policy when you created it.

" + }, + "Version":{ + "shape":"TrafficPolicyVersion", + "documentation":"

The version number that Amazon Route 53 assigns to a traffic policy. For a new traffic policy, the value of Version is always 1.

" + }, + "Name":{ + "shape":"TrafficPolicyName", + "documentation":"

The name that you specified when you created the traffic policy.

" + }, + "Type":{ + "shape":"RRType", + "documentation":"

The DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy to create a traffic policy instance.

" + }, + "Document":{ + "shape":"TrafficPolicyDocument", + "documentation":"

The definition of a traffic policy in JSON format. You specify the JSON document to use for a new traffic policy in the CreateTrafficPolicy request. For more information about the JSON format, see Traffic Policy Document Format.

" + }, + "Comment":{ + "shape":"TrafficPolicyComment", + "documentation":"

The comment that you specify in the CreateTrafficPolicy request, if any.

" + } + }, + "documentation":"

A complex type that contains settings for a traffic policy.

" }, "TrafficPolicyAlreadyExists":{ "type":"structure", @@ -4146,16 +4198,44 @@ "TrafficPolicyType" ], "members":{ - "Id":{"shape":"TrafficPolicyInstanceId"}, - "HostedZoneId":{"shape":"ResourceId"}, - "Name":{"shape":"DNSName"}, - "TTL":{"shape":"TTL"}, - "State":{"shape":"TrafficPolicyInstanceState"}, - "Message":{"shape":"Message"}, - "TrafficPolicyId":{"shape":"TrafficPolicyId"}, - "TrafficPolicyVersion":{"shape":"TrafficPolicyVersion"}, - "TrafficPolicyType":{"shape":"RRType"} - } + "Id":{ + "shape":"TrafficPolicyInstanceId", + "documentation":"

The ID that Amazon Route 53 assigned to the new traffic policy instance.

" + }, + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

The ID of the hosted zone that Amazon Route 53 created resource record sets in.

" + }, + "Name":{ + "shape":"DNSName", + "documentation":"

The DNS name, such as www.example.com, for which Amazon Route 53 responds to queries by using the resource record sets that are associated with this traffic policy instance.

" + }, + "TTL":{ + "shape":"TTL", + "documentation":"

The TTL that Amazon Route 53 assigned to all of the resource record sets that it created in the specified hosted zone.

" + }, + "State":{ + "shape":"TrafficPolicyInstanceState", + "documentation":"

The value of State is one of the following values:

Applied

Amazon Route 53 has finished creating resource record sets, and changes have propagated to all Amazon Route 53 edge locations.

Creating

Amazon Route 53 is creating the resource record sets. Use GetTrafficPolicyInstance to confirm that the CreateTrafficPolicyInstance request completed successfully.

Failed

Amazon Route 53 wasn't able to create or update the resource record sets. When the value of State is Failed, see Message for an explanation of what caused the request to fail.

" + }, + "Message":{ + "shape":"Message", + "documentation":"

If State is Failed, an explanation of the reason for the failure. If State is another value, Message is empty.

" + }, + "TrafficPolicyId":{ + "shape":"TrafficPolicyId", + "documentation":"

The ID of the traffic policy that Amazon Route 53 used to create resource record sets in the specified hosted zone.

" + }, + "TrafficPolicyVersion":{ + "shape":"TrafficPolicyVersion", + "documentation":"

The version of the traffic policy that Amazon Route 53 used to create resource record sets in the specified hosted zone.

" + }, + "TrafficPolicyType":{ + "shape":"RRType", + "documentation":"

The DNS type that Amazon Route 53 assigned to all of the resource record sets that it created for this traffic policy instance.

" + } + }, + "documentation":"

A complex type that contains settings for the new traffic policy instance.

" }, "TrafficPolicyInstanceAlreadyExists":{ "type":"structure", @@ -4203,12 +4283,28 @@ "TrafficPolicyCount" ], "members":{ - "Id":{"shape":"TrafficPolicyId"}, - "Name":{"shape":"TrafficPolicyName"}, - "Type":{"shape":"RRType"}, - "LatestVersion":{"shape":"TrafficPolicyVersion"}, - "TrafficPolicyCount":{"shape":"TrafficPolicyVersion"} - } + "Id":{ + "shape":"TrafficPolicyId", + "documentation":"

The ID that Amazon Route 53 assigned to the traffic policy when you created it.

" + }, + "Name":{ + "shape":"TrafficPolicyName", + "documentation":"

The name that you specified for the traffic policy when you created it.

" + }, + "Type":{ + "shape":"RRType", + "documentation":"

The DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy to create a traffic policy instance.

" + }, + "LatestVersion":{ + "shape":"TrafficPolicyVersion", + "documentation":"

The version number of the latest version of the traffic policy.

" + }, + "TrafficPolicyCount":{ + "shape":"TrafficPolicyVersion", + "documentation":"

The number of traffic policies that are associated with the current AWS account.

" + } + }, + "documentation":"

A complex type that contains information about the latest version of one traffic policy that is associated with the current AWS account.

" }, "TrafficPolicyVersion":{ "type":"integer", @@ -4279,7 +4375,10 @@ "documentation":"

A complex type that contains one Region element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.

" }, "AlarmIdentifier":{"shape":"AlarmIdentifier"}, - "InsufficientDataHealthStatus":{"shape":"InsufficientDataHealthStatus"} + "InsufficientDataHealthStatus":{ + "shape":"InsufficientDataHealthStatus", + "documentation":"

When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:

" + } }, "documentation":"

A complex type that contains the health check request information.

" }, @@ -4397,9 +4496,13 @@ "VPC":{ "type":"structure", "members":{ - "VPCRegion":{"shape":"VPCRegion"}, + "VPCRegion":{ + "shape":"VPCRegion", + "documentation":"

The region in which you created the VPC that you want to associate with the specified Amazon Route 53 hosted zone.

" + }, "VPCId":{"shape":"VPCId"} - } + }, + "documentation":"

A complex type that contains information about the Amazon VPC that you're associating with the specified hosted zone.

" }, "VPCAssociationNotFound":{ "type":"structure", @@ -4422,6 +4525,7 @@ "type":"string", "enum":[ "us-east-1", + "us-east-2", "us-west-1", "us-west-2", "eu-west-1", diff --git a/botocore/handlers.py b/botocore/handlers.py index 431b08af..9298c194 100644 --- a/botocore/handlers.py +++ b/botocore/handlers.py @@ -818,7 +818,6 @@ BUILTIN_HANDLERS = [ ('choose-signer.cognito-idp.SetUserSettings', disable_signing), ('choose-signer.cognito-idp.GetJWKS', disable_signing), ('choose-signer.cognito-idp.DeleteUserAttributes', disable_signing), - ('before-sign.s3', utils.fix_s3_host), ('before-parameter-build.s3.HeadObject', sse_md5), ('before-parameter-build.s3.GetObject', sse_md5), ('before-parameter-build.s3.PutObject', sse_md5), diff --git a/botocore/utils.py b/botocore/utils.py index 6218b8ad..0f09568e 100644 --- a/botocore/utils.py +++ b/botocore/utils.py @@ -45,8 +45,8 @@ RESTRICTED_REGIONS = [ 'us-gov-west-1', 'fips-us-gov-west-1', ] -S3_ACCELERATE_ENDPOINT = 's3-accelerate.amazonaws.com' RETRYABLE_HTTP_ERRORS = (requests.Timeout, requests.ConnectionError) +S3_ACCELERATE_WHITELIST = ['dualstack'] class _RetriesExceededError(Exception): @@ -775,7 +775,13 @@ def switch_host_s3_accelerate(request, operation_name, **kwargs): # before it gets changed to virtual. So we are not concerned with ensuring # that the bucket name is translated to the virtual style here and we # can hard code the Accelerate endpoint. - endpoint = 'https://' + S3_ACCELERATE_ENDPOINT + parts = urlsplit(request.url).netloc.split('.') + parts = [p for p in parts if p in S3_ACCELERATE_WHITELIST] + endpoint = 'https://s3-accelerate.' + if len(parts) > 0: + endpoint += '.'.join(parts) + '.' + endpoint += 'amazonaws.com' + if operation_name in ['ListBuckets', 'CreateBucket', 'DeleteBucket']: return _switch_hosts(request, endpoint, use_new_scheme=False) diff --git a/docs/source/conf.py b/docs/source/conf.py index 6929dead..5b8cb375 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -54,7 +54,7 @@ copyright = u'2013, Mitch Garnaat' # The short X.Y version. version = '1.4.' # The full version, including alpha/beta/rc tags. -release = '1.4.60' +release = '1.4.64' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/tests/functional/test_client_metadata.py b/tests/functional/test_client_metadata.py new file mode 100644 index 00000000..38dbb544 --- /dev/null +++ b/tests/functional/test_client_metadata.py @@ -0,0 +1,44 @@ +# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from tests import unittest + +import botocore.session + +class TestClientMeta(unittest.TestCase): + def setUp(self): + self.session = botocore.session.get_session() + + def test_region_name_on_meta(self): + client = self.session.create_client('s3', 'us-west-2') + self.assertEqual(client.meta.region_name, 'us-west-2') + + def test_endpoint_url_on_meta(self): + client = self.session.create_client('s3', 'us-west-2', + endpoint_url='https://foo') + self.assertEqual(client.meta.endpoint_url, 'https://foo') + + def test_client_has_standard_partition_on_meta(self): + client = self.session.create_client('s3', 'us-west-2') + self.assertEqual(client.meta.partition, 'aws') + + def test_client_has_china_partition_on_meta(self): + client = self.session.create_client('s3', 'cn-north-1') + self.assertEqual(client.meta.partition, 'aws-cn') + + def test_client_has_gov_partition_on_meta(self): + client = self.session.create_client('s3', 'us-gov-west-1') + self.assertEqual(client.meta.partition, 'aws-us-gov') + + def test_client_has_no_partition_on_meta_if_custom_region(self): + client = self.session.create_client('s3', 'myregion') + self.assertEqual(client.meta.partition, None) diff --git a/tests/functional/test_s3.py b/tests/functional/test_s3.py index 78f7c437..59c0079a 100644 --- a/tests/functional/test_s3.py +++ b/tests/functional/test_s3.py @@ -322,7 +322,6 @@ class TestGeneratePresigned(BaseS3OperationTest): self.assertEqual(parts, expected) - def test_correct_url_used_for_s3(): # Test that given various sets of config options and bucket names, # we construct the expect endpoint url. @@ -401,7 +400,6 @@ def test_correct_url_used_for_s3(): customer_provided_endpoint='https://foo.amazonaws.com/', expected_url='https://foo.amazonaws.com/bucket/key') - # S3 accelerate use_accelerate = {'use_accelerate_endpoint': True} yield t.case( @@ -413,6 +411,7 @@ def test_correct_url_used_for_s3(): region='us-west-2', bucket='bucket', key='key', s3_config=use_accelerate, expected_url='https://bucket.s3-accelerate.amazonaws.com/key') + # Provided endpoints still get recognized as accelerate endpoints. yield t.case( region='us-east-1', bucket='bucket', key='key', customer_provided_endpoint='https://s3-accelerate.amazonaws.com', @@ -426,6 +425,21 @@ def test_correct_url_used_for_s3(): s3_config=use_accelerate, is_secure=False, # Note we're using http:// because is_secure=False. expected_url='http://bucket.s3-accelerate.amazonaws.com/key') + yield t.case( + region='us-east-1', bucket='bucket', key='key', + # s3-accelerate must be the first part of the url. + customer_provided_endpoint='https://foo.s3-accelerate.amazonaws.com', + expected_url='https://foo.s3-accelerate.amazonaws.com/bucket/key') + yield t.case( + region='us-east-1', bucket='bucket', key='key', + # The endpoint must be an Amazon endpoint. + customer_provided_endpoint='https://s3-accelerate.notamazon.com', + expected_url='https://s3-accelerate.notamazon.com/bucket/key') + yield t.case( + region='us-east-1', bucket='bucket', key='key', + # Extra components must be whitelisted. + customer_provided_endpoint='https://s3-accelerate.foo.amazonaws.com', + expected_url='https://s3-accelerate.foo.amazonaws.com/bucket/key') # Use virtual even if path is specified for s3 accelerate because # path style will not work with S3 accelerate. yield t.case( @@ -445,19 +459,22 @@ def test_correct_url_used_for_s3(): region='us-west-2', bucket='bucket', key='key', s3_config=use_dualstack, # Still default to virtual hosted when possible. - expected_url='https://bucket.s3.dualstack.us-west-2.amazonaws.com/key') + expected_url=( + 'https://bucket.s3.dualstack.us-west-2.amazonaws.com/key')) # Non DNS compatible buckets use path style for dual stack. yield t.case( region='us-west-2', bucket='bucket.dot', key='key', s3_config=use_dualstack, # Still default to virtual hosted when possible. - expected_url='https://s3.dualstack.us-west-2.amazonaws.com/bucket.dot/key') + expected_url=( + 'https://s3.dualstack.us-west-2.amazonaws.com/bucket.dot/key')) # Supports is_secure (use_ssl=False in create_client()). yield t.case( region='us-west-2', bucket='bucket.dot', key='key', is_secure=False, s3_config=use_dualstack, # Still default to virtual hosted when possible. - expected_url='http://s3.dualstack.us-west-2.amazonaws.com/bucket.dot/key') + expected_url=( + 'http://s3.dualstack.us-west-2.amazonaws.com/bucket.dot/key')) # Is path style is requested, we should use it, even if the bucket is # DNS compatible. @@ -471,6 +488,73 @@ def test_correct_url_used_for_s3(): # Still default to virtual hosted when possible. expected_url='https://s3.dualstack.us-west-2.amazonaws.com/bucket/key') + # Accelerate + dual stack + use_accelerate_dualstack = { + 'use_accelerate_endpoint': True, + 'use_dualstack_endpoint': True, + } + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=use_accelerate_dualstack, + expected_url=( + 'https://bucket.s3-accelerate.dualstack.amazonaws.com/key')) + yield t.case( + # Region is ignored with S3 accelerate. + region='us-west-2', bucket='bucket', key='key', + s3_config=use_accelerate_dualstack, + expected_url=( + 'https://bucket.s3-accelerate.dualstack.amazonaws.com/key')) + # Only s3-accelerate overrides a customer endpoint. + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=use_dualstack, + customer_provided_endpoint='https://s3-accelerate.amazonaws.com', + expected_url=( + 'https://bucket.s3-accelerate.amazonaws.com/key')) + yield t.case( + region='us-east-1', bucket='bucket', key='key', + # Dualstack is whitelisted. + customer_provided_endpoint=( + 'https://s3-accelerate.dualstack.amazonaws.com'), + expected_url=( + 'https://bucket.s3-accelerate.dualstack.amazonaws.com/key')) + yield t.case( + region='us-east-1', bucket='bucket', key='key', + # Even whitelisted parts cannot be duplicated. + customer_provided_endpoint=( + 'https://s3-accelerate.dualstack.dualstack.amazonaws.com'), + expected_url=( + 'https://s3-accelerate.dualstack.dualstack' + '.amazonaws.com/bucket/key')) + yield t.case( + region='us-east-1', bucket='bucket', key='key', + # More than two extra parts is not allowed. + customer_provided_endpoint=( + 'https://s3-accelerate.dualstack.dualstack.dualstack' + '.amazonaws.com'), + expected_url=( + 'https://s3-accelerate.dualstack.dualstack.dualstack.amazonaws.com' + '/bucket/key')) + yield t.case( + region='us-east-1', bucket='bucket', key='key', + # Extra components must be whitelisted. + customer_provided_endpoint='https://s3-accelerate.foo.amazonaws.com', + expected_url='https://s3-accelerate.foo.amazonaws.com/bucket/key') + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=use_accelerate_dualstack, is_secure=False, + # Note we're using http:// because is_secure=False. + expected_url=( + 'http://bucket.s3-accelerate.dualstack.amazonaws.com/key')) + # Use virtual even if path is specified for s3 accelerate because + # path style will not work with S3 accelerate. + use_accelerate_dualstack['addressing_style'] = 'path' + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=use_accelerate_dualstack, + expected_url=( + 'https://bucket.s3-accelerate.dualstack.amazonaws.com/key')) + class S3AddressingCases(object): def __init__(self, verify_function): diff --git a/tests/unit/test_args.py b/tests/unit/test_args.py index 86b22420..576130a7 100644 --- a/tests/unit/test_args.py +++ b/tests/unit/test_args.py @@ -114,7 +114,8 @@ class TestCreateClientArgs(unittest.TestCase): bridge.resolve.return_value = { 'region_name': 'us-west-2', 'signature_version': 'v4', 'endpoint_url': 'https://ec2/', - 'signing_name': 'ec2', 'signing_region': 'us-west-2'} + 'signing_name': 'ec2', 'signing_region': 'us-west-2', + 'metadata': {}} with mock.patch('botocore.args.EndpointCreator') as m: args_create.get_client_args( service_model, 'us-west-2', True, 'https://ec2/', True, diff --git a/tests/unit/test_client.py b/tests/unit/test_client.py index 2f3f2748..e97097ab 100644 --- a/tests/unit/test_client.py +++ b/tests/unit/test_client.py @@ -248,6 +248,26 @@ class TestAutoGeneratedClient(unittest.TestCase): self.assertEqual(service_client.meta.endpoint_url, 'https://foo.bar') + def test_client_has_standard_partition_on_meta(self): + creator = self.create_client_creator() + service_client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + self.assertEqual(service_client.meta.partition, + 'aws') + + def test_client_has_non_standard_partition_on_meta(self): + creator = self.create_client_creator() + self.resolver.construct_endpoint.return_value = { + 'partition': 'aws-cn', + 'hostname': 'foo', + 'endpointName': 'cn-north-1', + 'signatureVersions': ['v4'], + } + service_client = creator.create_client( + 'myservice', 'cn-north-1', credentials=self.credentials) + self.assertEqual(service_client.meta.partition, + 'aws-cn') + def test_api_version_is_passed_to_loader_if_provided(self): creator = self.create_client_creator() self.endpoint.host = 'https://foo.bar' @@ -1142,32 +1162,32 @@ class TestAutoGeneratedClient(unittest.TestCase): def test_client_s3_addressing_style_default_registers_correctly(self): event_emitter = mock.Mock() creator = self.create_client_creator(event_emitter=event_emitter) - client = creator.create_client('myservice', 'us-west-2') - self.assertNotIn( + client = creator.create_client('s3', 'us-west-2') + self.assertIn( mock.call('before-sign.s3', utils.fix_s3_host), - client.meta.events.unregister.call_args_list + client.meta.events.register.call_args_list ) def test_client_s3_addressing_style_auto_registers_correctly(self): event_emitter = mock.Mock() creator = self.create_client_creator(event_emitter=event_emitter) client = creator.create_client( - 'myservice', 'us-west-2', + 's3', 'us-west-2', scoped_config={'s3': {'addressing_style': 'auto'}} ) - self.assertNotIn( + self.assertIn( mock.call('before-sign.s3', utils.fix_s3_host), - client.meta.events.unregister.call_args_list + client.meta.events.register.call_args_list ) def test_client_s3_addressing_style_virtual_registers_correctly(self): event_emitter = mock.Mock() creator = self.create_client_creator(event_emitter=event_emitter) client = creator.create_client( - 'myservice', 'us-west-2', + 's3', 'us-west-2', scoped_config={'s3': {'addressing_style': 'virtual'}} ) - self.assertIn( + self.assertNotIn( mock.call('before-sign.s3', utils.fix_s3_host), client.meta.events.unregister.call_args_list ) @@ -1180,7 +1200,7 @@ class TestAutoGeneratedClient(unittest.TestCase): event_emitter = mock.Mock() creator = self.create_client_creator(event_emitter=event_emitter) client = creator.create_client( - 'myservice', 'us-west-2', + 's3', 'us-west-2', scoped_config={'s3': {'addressing_style': 'path'}} ) self.assertNotIn( @@ -1192,26 +1212,38 @@ class TestAutoGeneratedClient(unittest.TestCase): client.meta.events.register.call_args_list ) - def test_custom_endpoint_unregisters_fix_s3_host(self): + def test_custom_endpoint_uses_path_style(self): event_emitter = mock.Mock() creator = self.create_client_creator(event_emitter=event_emitter) - # It shouldn't be unregistered if we don't provide a url - client = creator.create_client('myservice', 'us-west-2') - self.assertNotIn( - mock.call('before-sign.s3', utils.fix_s3_host), - client.meta.events.unregister.call_args_list - ) - - # If we do provide a url, it must be unregistered - event_emitter.reset_mock() - client = creator.create_client( - 'myservice', 'us-west-2', - endpoint_url="foo.com" - ) + # fix_s3_host should be registered if we don't provide a url + client = creator.create_client('s3', 'us-west-2') self.assertIn( mock.call('before-sign.s3', utils.fix_s3_host), - client.meta.events.unregister.call_args_list + client.meta.events.register.call_args_list + ) + + # If we do provide a url, fix_s3_host should not be registered + event_emitter.reset_mock() + client = creator.create_client( + 's3', 'us-west-2', + endpoint_url="foo.com" + ) + self.assertNotIn( + mock.call('before-sign.s3', mock.ANY), + client.meta.events.register.call_args_list + ) + + def test_custom_accelerate_url_forces_virtual_host(self): + event_emitter = mock.Mock() + creator = self.create_client_creator(event_emitter=event_emitter) + client = creator.create_client( + 's3', 'us-west-2', + endpoint_url='https://s3-accelerate.amazonaws.com' + ) + self.assertIn( + mock.call('before-sign.s3', utils.switch_to_virtual_host_style), + client.meta.events.register.call_args_list ) def test_client_payload_signing_from_scoped_config(self): diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py index 5d5cd852..2ef8588a 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py @@ -51,6 +51,7 @@ from botocore.utils import S3RegionRedirector from botocore.utils import ContainerMetadataFetcher from botocore.model import DenormalizedStructureBuilder from botocore.model import ShapeResolver +from botocore.config import Config class TestURINormalization(unittest.TestCase): @@ -973,6 +974,8 @@ class TestSwitchHostS3Accelerate(unittest.TestCase): method='PUT', headers={}, url=self.original_url ) + self.client_config = Config() + self.request.context['client_config'] = self.client_config def test_switch_host(self): switch_host_s3_accelerate(self.request, 'PutObject') @@ -989,7 +992,7 @@ class TestSwitchHostS3Accelerate(unittest.TestCase): 'CreateBucket' ] for op_name in blacklist_ops: - switch_host_s3_accelerate(self.request, 'ListBuckets') + switch_host_s3_accelerate(self.request, op_name) self.assertEqual(self.request.url, self.original_url) def test_uses_original_endpoint_scheme(self): @@ -999,6 +1002,19 @@ class TestSwitchHostS3Accelerate(unittest.TestCase): self.request.url, 'http://s3-accelerate.amazonaws.com/foo/key.txt') + def test_uses_dualstack(self): + self.client_config.s3 = {'use_dualstack_endpoint': True} + self.original_url = 'https://s3.dualstack.amazonaws.com/foo/key.txt' + self.request = AWSRequest( + method='PUT', headers={}, + url=self.original_url + ) + self.request.context['client_config'] = self.client_config + switch_host_s3_accelerate(self.request, 'PutObject') + self.assertEqual( + self.request.url, + 'https://s3-accelerate.dualstack.amazonaws.com/foo/key.txt') + class TestS3RegionRedirector(unittest.TestCase): def setUp(self):